:root{
    --bz-ink:#141329; --bz-ink-2:#211F45; --bz-primary:#6366F1; --bz-primary-600:#4F46E5; --bz-primary-100:#E7E7FE;
    --bz-accent:#F43F5E; --bz-accent-600:#E11D48; --bz-gold:#F59E0B;
    --bz-bg:#F5F6FB; --bz-surface:#FFFFFF; --bz-surface-2:#F6F7FC; --bz-border:#E8E9F3;
    --bz-text:#1B1A33; --bz-text-muted:#6B7186; --bz-text-invert:#EEEEFB;
    --bz-st-new:#3B82F6; --bz-st-proposal:#8B5CF6; --bz-st-hot:#F43F5E; --bz-st-followup:#F59E0B;
    --bz-st-confirmed:#10B981; --bz-st-cancel:#94A0B8;
    --bz-font:"Inter","Segoe UI",system-ui,sans-serif;
    --bz-fs-xs:.75rem; --bz-fs-sm:.85rem; --bz-fs-base:.95rem; --bz-fs-lg:1.15rem; --bz-fs-xl:1.55rem; --bz-fs-2xl:2.15rem;
    --bz-s1:.25rem; --bz-s2:.5rem; --bz-s3:.75rem; --bz-s4:1rem; --bz-s5:1.5rem; --bz-s6:2rem; --bz-s7:3rem;
    --bz-radius-sm:8px; --bz-radius:12px; --bz-radius-lg:20px; --bz-radius-pill:999px;
    --bz-shadow-sm:0 1px 2px rgba(24,22,55,.05),0 1px 3px rgba(24,22,55,.04);
    --bz-shadow:0 8px 24px -8px rgba(79,70,229,.18),0 2px 6px rgba(24,22,55,.05);
    --bz-shadow-lg:0 24px 50px -12px rgba(49,46,129,.28);
    --bz-ring:0 0 0 4px rgba(99,102,241,.16);
    --bz-grad-accent:linear-gradient(135deg,#FB7185,#F43F5E);
    --bz-grad-primary:linear-gradient(135deg,#7C7CF9,#5850EC);
    --bz-sidebar-w:256px; --bz-rail-w:76px; --bz-topbar-h:68px; --bz-transition:.2s cubic-bezier(.4,0,.2,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:var(--bz-font);font-size:var(--bz-fs-base);color:var(--bz-text);background:
    radial-gradient(circle at 88% -5%,rgba(0,82,165,.22),transparent 45%),
    radial-gradient(circle at 0% 100%,rgba(0,82,165,.16),transparent 48%),
    linear-gradient(135deg,#d7e6ff 0%,#eaf2ff 45%,#dbe8ff 100%);background-attachment:fixed;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
img{max-width:100%}

/* ---------- App shell ---------- */
.bz-app{display:flex;min-height:100vh}
.bz-main{flex:1;min-width:0;display:flex;flex-direction:column;margin-left:var(--bz-sidebar-w);transition:margin var(--bz-transition)}
.bz-content{flex:1;padding:var(--bz-s5) var(--bz-s6)}

/* ---------- Sidebar ---------- */
.bz-sidebar{position:fixed;top:0;left:0;width:var(--bz-sidebar-w);height:100vh;background:linear-gradient(180deg,var(--bz-ink-2),var(--bz-ink) 55%);color:var(--bz-text-invert);display:flex;flex-direction:column;z-index:40;transition:transform var(--bz-transition);border-right:1px solid rgba(255,255,255,.05)}
.bz-brand{display:flex;align-items:center;gap:var(--bz-s3);padding:var(--bz-s5) var(--bz-s5) var(--bz-s4)}
.bz-brand--logo{justify-content:flex-start;gap:11px;padding:var(--bz-s5) var(--bz-s5) var(--bz-s4)}
.bz-brand--logo .bz-brand-logo{height:52px;width:52px;max-width:52px;max-height:52px;object-fit:contain;background:#fff;border-radius:8px;padding:6px;flex:0 0 auto;box-shadow:0 2px 10px -3px rgba(0,0,0,.35)}
.bz-brand--logo .bz-brand-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bz-brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--bz-grad-accent);color:#fff;font-weight:700;font-size:1.2rem;box-shadow:0 6px 16px -4px rgba(244,63,94,.5)}
.bz-brand-mark--lg{width:56px;height:56px;font-size:1.7rem;border-radius:16px}
.bz-brand-text{font-weight:700;font-size:1.15rem;letter-spacing:.2px}
.bz-brand-text small{display:block;font-size:.62rem;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--bz-primary-100);opacity:.7}
.bz-nav{flex:1;overflow-y:auto;padding:var(--bz-s3) var(--bz-s3)}
.bz-nav-item{position:relative;display:flex;align-items:center;gap:var(--bz-s3);padding:.68rem var(--bz-s3);border-radius:var(--bz-radius);color:rgba(234,244,241,.68);font-size:var(--bz-fs-sm);font-weight:500;margin-bottom:3px;transition:all var(--bz-transition)}
.bz-nav-item:hover{background:rgba(255,255,255,.07);color:#fff}
.bz-nav-item.is-active{background:linear-gradient(100deg,rgba(99,102,241,.95),rgba(124,124,249,.4));color:#fff;box-shadow:0 4px 14px -4px rgba(99,102,241,.65)}
.bz-nav-item.is-active::before{content:"";position:absolute;left:2px;top:50%;transform:translateY(-50%);width:4px;height:60%;border-radius:4px;background:var(--bz-accent)}
.bz-nav-item .bz-ic{opacity:.85}
/* Expandable nav group (Invoices → Client/Agent/Corporate) — header only toggles the sub-menu */
.bz-nav-group{position:relative}
.bz-nav-group-toggle{width:100%;border:0;background:transparent;cursor:pointer;font:inherit;text-align:left}
.bz-nav-caret-ic{margin-left:auto;flex:0 0 auto;width:7px;height:7px;border-right:2px solid rgba(234,244,241,.6);border-bottom:2px solid rgba(234,244,241,.6);transform:rotate(45deg);transition:transform var(--bz-transition)}
.bz-nav-group-toggle:hover .bz-nav-caret-ic{border-color:#fff}
.bz-nav-group.is-open .bz-nav-caret-ic{transform:rotate(-135deg)}
.bz-submenu{display:none;flex-direction:column;margin:0 0 4px 30px;padding-left:8px;border-left:1px solid rgba(255,255,255,.1)}
.bz-nav-group.is-open .bz-submenu{display:flex}
.bz-subitem{display:block;padding:.44rem .6rem;border-radius:var(--bz-radius);color:rgba(234,244,241,.6);font-size:13px;font-weight:500;margin-bottom:2px;transition:all var(--bz-transition)}
.bz-subitem:hover{background:rgba(255,255,255,.07);color:#fff}
.bz-subitem.is-active{background:rgba(255,255,255,.1);color:#fff;font-weight:600}
.bz-sidebar-foot{padding:var(--bz-s3);border-top:1px solid rgba(255,255,255,.08)}
.bz-nav-logout:hover{background:rgba(244,63,94,.16);color:#fff}

@media (min-width:993px){
    .bz-app.is-collapsed .bz-main{margin-left:var(--bz-rail-w)}
    .bz-app.is-collapsed .bz-sidebar{width:var(--bz-rail-w);transition:width var(--bz-transition),transform var(--bz-transition)}
    .bz-app.is-collapsed .bz-sidebar:hover{width:var(--bz-sidebar-w);box-shadow:16px 0 44px -20px rgba(0,0,0,.55)}
    .bz-app.is-collapsed .bz-sidebar:not(:hover) .bz-brand-text,
    .bz-app.is-collapsed .bz-sidebar:not(:hover) .bz-nav-item>span,
    .bz-app.is-collapsed .bz-sidebar:not(:hover) .bz-nav-caret-ic,
    .bz-app.is-collapsed .bz-sidebar:not(:hover) .bz-submenu{display:none}
    .bz-app.is-collapsed .bz-sidebar:not(:hover) .bz-nav-item{justify-content:center;padding-left:.4rem;padding-right:.4rem}
    .bz-app.is-collapsed .bz-sidebar:not(:hover) .bz-brand{justify-content:center;padding-left:0;padding-right:0}
    .bz-app.is-collapsed .bz-sidebar:not(:hover) .bz-brand--logo{gap:0}
}

/* ---------- Icons (mask) ---------- */
.bz-ic{display:inline-block;width:18px;height:18px;flex:0 0 18px;background:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.bz-ic-grid{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3C/svg%3E")}
.bz-ic-inbox{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M22 12h-6l-2 3h-4l-2-3H2'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M22 12h-6l-2 3h-4l-2-3H2'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E")}
.bz-ic-map{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpolygon points='1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6'/%3E%3Cline x1='8' y1='2' x2='8' y2='18'/%3E%3Cline x1='16' y1='6' x2='16' y2='22'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpolygon points='1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6'/%3E%3Cline x1='8' y1='2' x2='8' y2='18'/%3E%3Cline x1='16' y1='6' x2='16' y2='22'/%3E%3C/svg%3E")}
.bz-ic-users{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E")}
.bz-ic-mail{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E")}
.bz-ic-bar{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cline x1='12' y1='20' x2='12' y2='10'/%3E%3Cline x1='18' y1='20' x2='18' y2='4'/%3E%3Cline x1='6' y1='20' x2='6' y2='16'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cline x1='12' y1='20' x2='12' y2='10'/%3E%3Cline x1='18' y1='20' x2='18' y2='4'/%3E%3Cline x1='6' y1='20' x2='6' y2='16'/%3E%3C/svg%3E")}
.bz-ic-mega{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='m3 11 18-5v12L3 14v-3z'/%3E%3Cpath d='M11.6 16.8a3 3 0 1 1-5.8-1.6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='m3 11 18-5v12L3 14v-3z'/%3E%3Cpath d='M11.6 16.8a3 3 0 1 1-5.8-1.6'/%3E%3C/svg%3E")}
.bz-ic-wallet{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M21 12V7H5a2 2 0 0 1 0-4h14v4'/%3E%3Cpath d='M3 5v14a2 2 0 0 0 2 2h16v-5'/%3E%3Cpath d='M18 12a2 2 0 0 0 0 4h4v-4z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M21 12V7H5a2 2 0 0 1 0-4h14v4'/%3E%3Cpath d='M3 5v14a2 2 0 0 0 2 2h16v-5'/%3E%3Cpath d='M18 12a2 2 0 0 0 0 4h4v-4z'/%3E%3C/svg%3E")}
.bz-ic-layers{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpolygon points='12 2 2 7 12 12 22 7 12 2'/%3E%3Cpolyline points='2 17 12 22 22 17'/%3E%3Cpolyline points='2 12 12 17 22 12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpolygon points='12 2 2 7 12 12 22 7 12 2'/%3E%3Cpolyline points='2 17 12 22 22 17'/%3E%3Cpolyline points='2 12 12 17 22 12'/%3E%3C/svg%3E")}
.bz-ic-tag{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M20.59 13.41 11 3.82A2 2 0 0 0 9.59 3H4a1 1 0 0 0-1 1v5.59A2 2 0 0 0 3.59 11l9.59 9.59a2 2 0 0 0 2.82 0l4.59-4.59a2 2 0 0 0 0-2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M20.59 13.41 11 3.82A2 2 0 0 0 9.59 3H4a1 1 0 0 0-1 1v5.59A2 2 0 0 0 3.59 11l9.59 9.59a2 2 0 0 0 2.82 0l4.59-4.59a2 2 0 0 0 0-2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E")}
.bz-ic-shield{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E")}
.bz-ic-gear{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E")}
.bz-ic-invoice{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cline x1='10' y1='9' x2='8' y2='9'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cline x1='10' y1='9' x2='8' y2='9'/%3E%3C/svg%3E")}
/* ---------- Settings module ---------- */
.bz-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:var(--bz-s5);align-items:start}
.bz-card-title{font-size:var(--bz-fs-lg);font-weight:700;color:var(--bz-ink)}
.bz-brand-preview{display:block;margin-top:var(--bz-s3);max-height:70px;max-width:180px;object-fit:contain;border:1px solid var(--bz-border,#e6e8ee);border-radius:10px;padding:6px;background:#fff}
.bz-brand-preview--sm{max-height:40px;max-width:40px}
.bz-brand-logo{max-height:40px;max-width:150px;object-fit:contain}
.bz-print-logo{max-height:54px;max-width:200px;object-fit:contain;display:block;margin-left:auto}
.bz-print-brand-text{font-weight:800;font-size:1.2rem;color:var(--bz-primary-600)}
.bz-print-company{margin-top:6px;font-size:.72rem;line-height:1.5;color:#555;text-align:right}
.bz-ic-out{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E")}
.bz-ic-bell{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E")}

/* ---------- Topbar ---------- */
.bz-topbar{position:sticky;top:0;z-index:30;height:var(--bz-topbar-h);display:flex;align-items:center;gap:var(--bz-s4);padding:0 var(--bz-s6);background:rgba(255,255,255,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--bz-border)}
.bz-topbar-title{font-weight:700;font-size:var(--bz-fs-lg);color:var(--bz-ink)}
.bz-back{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border:1px solid var(--bz-border);border-radius:var(--bz-radius);background:var(--bz-surface);color:var(--bz-text-muted);font-size:var(--bz-fs-sm);font-weight:600;cursor:pointer;transition:all var(--bz-transition)}
.bz-back:hover{color:var(--bz-primary);border-color:var(--bz-primary)}
.bz-back svg{width:16px;height:16px}
.bz-topbar-search{flex:1;max-width:420px}
.bz-topbar-search input{width:100%;padding:.6rem var(--bz-s4);border:1px solid var(--bz-border);border-radius:var(--bz-radius-pill);background:var(--bz-surface-2);font-size:var(--bz-fs-sm);color:var(--bz-text);transition:all var(--bz-transition)}
.bz-topbar-search input:focus{outline:none;border-color:var(--bz-primary);background:#fff;box-shadow:var(--bz-ring)}
.bz-user{padding:.3rem .55rem .3rem .3rem;border:1px solid var(--bz-border);border-radius:var(--bz-radius-pill);background:var(--bz-surface)}
.bz-topbar-right{margin-left:auto;display:flex;align-items:center;gap:var(--bz-s4)}
.bz-icon-btn{width:38px;height:38px;border:1px solid var(--bz-border);border-radius:var(--bz-radius);background:var(--bz-surface);display:grid;place-items:center;color:var(--bz-text-muted)}
.bz-icon-btn:hover{color:var(--bz-primary);border-color:var(--bz-primary)}
.bz-mailnotif{position:relative}
.bz-mailnotif .bz-icon-btn{position:relative}
.bz-mail-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#e11d48;color:#fff;font-size:11px;font-weight:600;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--bz-surface)}
.bz-mail-dd{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-width:88vw;background:var(--bz-surface);border:1px solid var(--bz-border);border-radius:var(--bz-radius);box-shadow:0 10px 30px rgba(0,0,0,.15);z-index:1200;overflow:hidden}
.bz-mail-dd-head{padding:10px 14px;font-size:var(--bz-fs-sm);font-weight:600;border-bottom:1px solid var(--bz-border)}
.bz-mail-dd-list{max-height:360px;overflow-y:auto}
.bz-mail-dd-empty{padding:18px 14px;font-size:var(--bz-fs-sm);color:var(--bz-text-muted);text-align:center}
.bz-mail-dd-item{display:block;padding:10px 14px;border-bottom:1px solid var(--bz-border);text-decoration:none;color:inherit}
.bz-mail-dd-item:hover{background:rgba(0,0,0,.04)}
.bz-mail-dd-from{display:block;font-size:var(--bz-fs-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bz-mail-dd-subj{display:block;font-size:12px;color:var(--bz-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bz-mail-dd-time{display:block;font-size:11px;color:var(--bz-text-muted);margin-top:2px}
.bz-mail-dd-all{display:block;padding:10px 14px;text-align:center;font-size:var(--bz-fs-sm);font-weight:600;color:var(--bz-primary);text-decoration:none}
.bz-mail-dd-all:hover{background:rgba(0,0,0,.04)}
.bz-user{display:flex;align-items:center;gap:var(--bz-s2)}
.bz-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--bz-radius-pill);background:var(--bz-primary);color:#fff;font-weight:600;font-size:var(--bz-fs-sm)}
.bz-user-name{font-size:var(--bz-fs-sm);font-weight:500}
.bz-burger{display:flex;flex-direction:column;gap:4px;width:38px;height:38px;border:1px solid var(--bz-border);border-radius:var(--bz-radius);background:var(--bz-surface);align-items:center;justify-content:center}
.bz-burger span{width:18px;height:2px;background:var(--bz-ink);border-radius:2px}

/* ---------- Footer ---------- */
.bz-footer{display:flex;justify-content:space-between;padding:var(--bz-s4) var(--bz-s6);color:var(--bz-text-muted);font-size:var(--bz-fs-xs);border-top:1px solid var(--bz-border)}

/* ---------- Page head ---------- */
.bz-page-head{display:flex;align-items:center;justify-content:space-between;gap:var(--bz-s4);margin-bottom:var(--bz-s5);flex-wrap:wrap}
.bz-page-head h1{font-size:var(--bz-fs-xl);font-weight:800;letter-spacing:-.02em;color:var(--bz-ink)}
.bz-page-head p{color:var(--bz-text-muted);font-size:var(--bz-fs-sm)}

/* ---------- Cards ---------- */
.bz-card{background:var(--bz-surface);border:1px solid var(--bz-border);border-radius:var(--bz-radius-lg);box-shadow:var(--bz-shadow-sm);padding:var(--bz-s5)}
.bz-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--bz-s4)}
.bz-card-head h3{font-size:var(--bz-fs-lg);font-weight:700;color:var(--bz-ink)}

/* ---------- Accordion (collapsible card) ---------- */
.bz-accordion{padding:0;overflow:hidden}
.bz-accordion>.bz-accordion-head{display:flex;align-items:center;gap:var(--bz-s3);padding:var(--bz-s4) var(--bz-s5);background:var(--bz-surface-2);border-bottom:1px solid transparent;cursor:pointer;list-style:none;user-select:none;transition:background var(--bz-transition)}
.bz-accordion>.bz-accordion-head::-webkit-details-marker{display:none}
.bz-accordion>.bz-accordion-head:hover{background:var(--bz-primary-100)}
.bz-accordion[open]>.bz-accordion-head{border-bottom-color:var(--bz-border)}
.bz-accordion-title{font-size:var(--bz-fs-lg);font-weight:700;color:var(--bz-ink)}
.bz-accordion-hint{font-size:var(--bz-fs-sm);color:var(--bz-text-muted)}
.bz-accordion-chev{margin-left:auto;font-size:1rem;color:var(--bz-primary-600);transition:transform var(--bz-transition)}
.bz-accordion[open]>.bz-accordion-head .bz-accordion-chev{transform:rotate(180deg)}

/* ---------- KPI cards ---------- */
.bz-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--bz-s4);margin-bottom:var(--bz-s5)}
.bz-kpi{position:relative;display:block;background:var(--bz-surface);border:1px solid var(--bz-border);border-radius:var(--bz-radius-lg);padding:var(--bz-s5);box-shadow:var(--bz-shadow-sm);overflow:hidden;transition:transform var(--bz-transition),box-shadow var(--bz-transition)}
.bz-kpi::after{content:"";position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:50%;background:var(--bz-kpi-c,var(--bz-primary));opacity:.08;transition:transform var(--bz-transition)}
.bz-kpi:hover{transform:translateY(-3px);box-shadow:var(--bz-shadow);border-color:transparent}
.bz-kpi:hover::after{transform:scale(1.4)}
.bz-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--bz-kpi-c,var(--bz-primary))}
.bz-kpi-label{font-size:var(--bz-fs-xs);text-transform:uppercase;letter-spacing:.6px;color:var(--bz-text-muted);font-weight:700}
.bz-kpi-value{font-size:var(--bz-fs-2xl);font-weight:800;letter-spacing:-.03em;color:var(--bz-ink);margin-top:var(--bz-s2);line-height:1}
.bz-kpi-sub{display:inline-flex;align-items:center;gap:4px;font-size:var(--bz-fs-xs);color:var(--bz-primary-600);font-weight:600;margin-top:var(--bz-s3)}
.bz-kpi--new{--bz-kpi-c:var(--bz-st-new)}
.bz-kpi--proposal{--bz-kpi-c:var(--bz-st-proposal)}
.bz-kpi--hot{--bz-kpi-c:var(--bz-st-hot)}
.bz-kpi--followup{--bz-kpi-c:var(--bz-st-followup)}
.bz-kpi--confirmed{--bz-kpi-c:var(--bz-st-confirmed)}
.bz-kpi--cancel{--bz-kpi-c:var(--bz-st-cancel)}
.bz-kpi--total{--bz-kpi-c:var(--bz-gold)}

/* ---------- Animations ---------- */
@keyframes bzFadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes bzGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes bzFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes bzPing{0%{box-shadow:0 0 0 0 rgba(74,222,128,.5)}70%{box-shadow:0 0 0 9px rgba(74,222,128,0)}100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}}
@keyframes bzShine{to{transform:translateX(220%) rotate(20deg)}}

.bz-anim{animation:bzFadeUp .55s both}
.bz-anim--d1{animation-delay:.5s}
.bz-anim--d2{animation-delay:.58s}
.bz-kpi{animation:bzFadeUp .5s both}
.bz-kpi-grid .bz-kpi:nth-child(1){animation-delay:.04s}
.bz-kpi-grid .bz-kpi:nth-child(2){animation-delay:.10s}
.bz-kpi-grid .bz-kpi:nth-child(3){animation-delay:.16s}
.bz-kpi-grid .bz-kpi:nth-child(4){animation-delay:.22s}
.bz-kpi-grid .bz-kpi:nth-child(5){animation-delay:.28s}
.bz-kpi-grid .bz-kpi:nth-child(6){animation-delay:.34s}
.bz-kpi-grid .bz-kpi:nth-child(7){animation-delay:.40s}
.bz-kpi-grid .bz-kpi:nth-child(8){animation-delay:.46s}

/* ---------- Dashboard hero ---------- */
.bz-hero{position:relative;overflow:hidden;border-radius:var(--bz-radius-lg);padding:var(--bz-s6) var(--bz-s6);margin-bottom:var(--bz-s5);color:#fff;background:linear-gradient(120deg,#6366F1,#8B5CF6,#F43F5E,#6366F1);background-size:300% 300%;animation:bzGradient 14s ease infinite;box-shadow:var(--bz-shadow)}
.bz-hero-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--bz-s4);flex-wrap:wrap}
.bz-hero h2{font-size:1.8rem;font-weight:800;letter-spacing:-.02em}
.bz-hero p{opacity:.9;margin-top:.25rem;font-size:var(--bz-fs-sm)}
.bz-hero .bz-btn{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);box-shadow:none;backdrop-filter:blur(6px)}
.bz-hero .bz-btn:hover{background:rgba(255,255,255,.28)}
.bz-hero-orb{position:absolute;z-index:1;border-radius:50%;background:rgba(255,255,255,.14);animation:bzFloat 7s ease-in-out infinite}
.bz-hero-orb--1{width:140px;height:140px;top:-40px;right:6%}
.bz-hero-orb--2{width:80px;height:80px;bottom:-30px;right:24%;animation-delay:1.4s}
.bz-hero-orb--3{width:46px;height:46px;top:26px;right:34%;animation-delay:.7s}
.bz-live{display:inline-flex;align-items:center;gap:7px;font-size:var(--bz-fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:1.2px;background:rgba(255,255,255,.18);padding:.32rem .7rem;border-radius:var(--bz-radius-pill);margin-bottom:var(--bz-s3)}
.bz-live::before{content:"";width:8px;height:8px;border-radius:50%;background:#4ADE80;animation:bzPing 1.7s infinite}
.bz-kpi-value.is-counting{color:var(--bz-primary-600)}

/* ---------- Buttons ---------- */
.bz-btn{display:inline-flex;align-items:center;gap:var(--bz-s2);padding:.6rem var(--bz-s5);border:1px solid transparent;border-radius:var(--bz-radius-pill);background:var(--bz-grad-primary);color:#fff;font-size:var(--bz-fs-sm);font-weight:600;box-shadow:0 4px 12px -4px rgba(79,70,229,.5);transition:all var(--bz-transition)}
.bz-btn:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 8px 18px -6px rgba(79,70,229,.55)}
.bz-btn:active{transform:translateY(0)}
.bz-btn--accent{background:var(--bz-grad-accent);box-shadow:0 4px 12px -4px rgba(244,63,94,.5)}
.bz-btn--accent:hover{box-shadow:0 8px 18px -6px rgba(244,63,94,.55)}
.bz-btn--ghost{background:var(--bz-surface);color:var(--bz-primary-600);border-color:var(--bz-border);box-shadow:var(--bz-shadow-sm)}
.bz-btn--ghost:hover{background:var(--bz-primary-100);border-color:var(--bz-primary);filter:none}
.bz-btn--sm{padding:.38rem .85rem;font-size:var(--bz-fs-xs)}
.bz-btn--block{width:100%;justify-content:center}
.bz-btn--danger{color:#dc2626;border-color:rgba(220,38,38,.35)}
.bz-btn--danger:hover{background:rgba(220,38,38,.08);border-color:#dc2626;filter:none}

/* ---------- Badges ---------- */
.bz-badge{display:inline-block;padding:.24rem .65rem;border-radius:var(--bz-radius-pill);font-size:var(--bz-fs-xs);font-weight:700;letter-spacing:.2px;background:var(--bz-primary-100);color:var(--bz-primary-600)}
.bz-badge--info{background:#E4EEFE;color:#2563EB}
.bz-badge--warn{background:#FEF3E2;color:#C2740B}
.bz-badge--ok{background:#E3F6EC;color:#127A46}
.bz-badge--muted{background:#EEF1F3;color:#6B7C85}
.bz-inp-cell{width:100%;min-width:120px;padding:.4rem .55rem;border:1px solid var(--bz-border,#e2e8ea);border-radius:8px;font:inherit;background:#fff}
.bz-inp-cell--sm{min-width:70px}
.bz-badge--new{background:#E4EEFE;color:var(--bz-st-new)}
.bz-badge--proposal{background:#EFE8FD;color:var(--bz-st-proposal)}
.bz-badge--hot{background:#FFE4EA;color:var(--bz-accent-600)}
.bz-badge--followup{background:#FBF0D8;color:#9A7420}
.bz-badge--confirmed{background:#DCF3E4;color:var(--bz-st-confirmed)}
.bz-badge--cancel{background:#ECEEED;color:#5B635F}

/* ---------- Tables ---------- */
.bz-table-wrap{overflow-x:auto;background:var(--bz-surface);border:1px solid var(--bz-border);border-radius:var(--bz-radius-lg);box-shadow:var(--bz-shadow-sm)}
.bz-table{width:100%;border-collapse:collapse;font-size:var(--bz-fs-sm)}
.bz-table th{text-align:left;padding:var(--bz-s4) var(--bz-s4);background:var(--bz-surface-2);color:var(--bz-text-muted);font-weight:700;font-size:var(--bz-fs-xs);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--bz-border);white-space:nowrap}
.bz-table td{padding:var(--bz-s4) var(--bz-s4);border-bottom:1px solid var(--bz-border);color:var(--bz-text)}
.bz-table tbody tr:last-child td,.bz-table tr:last-child td{border-bottom:none}
.bz-table tbody tr{transition:background var(--bz-transition)}
.bz-table tbody tr:hover{background:var(--bz-primary-100)}
.bz-table a{color:var(--bz-primary-600);font-weight:600}

/* ---------- Forms ---------- */
.bz-form{display:flex;flex-direction:column;gap:var(--bz-s4)}
.bz-field{display:flex;flex-direction:column;gap:var(--bz-s2)}
.bz-field>span{font-size:var(--bz-fs-sm);font-weight:600;color:var(--bz-ink)}
.bz-field input,.bz-field select,.bz-field textarea{padding:.6rem var(--bz-s3);border:1px solid var(--bz-border);border-radius:var(--bz-radius);background:var(--bz-surface);font-size:var(--bz-fs-sm);color:var(--bz-text);font-family:inherit}
.bz-field input:focus,.bz-field select:focus,.bz-field textarea:focus{outline:none;border-color:var(--bz-primary);box-shadow:0 0 0 3px var(--bz-primary-100)}
.bz-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--bz-s4)}

/* ---------- Alerts ---------- */
.bz-alert{padding:var(--bz-s3) var(--bz-s4);border-radius:var(--bz-radius);font-size:var(--bz-fs-sm);margin-bottom:var(--bz-s4);border:1px solid transparent}
.bz-alert--ok{background:#DCF3E4;color:#137a3a;border-color:#B6E4C6}
.bz-alert--err{background:#FDE5E0;color:#c23c25;border-color:#F6C4B9}
.bz-alert--warn{background:#FEF3C7;color:#92610a;border-color:#FDE08A}
.bz-alert--info{background:#E7EDFF;color:#3a45a8;border-color:#C9D4FF}
.bz-alert a{color:inherit;text-decoration:underline}
.bz-mb-1{margin-bottom:var(--bz-s1)}
.bz-mb-2{margin-bottom:var(--bz-s2)}
.bz-mb-3{margin-bottom:var(--bz-s3)}
.bz-mb-4{margin-bottom:var(--bz-s4)}
.bz-fs-xs{font-size:var(--bz-fs-xs)}
.bz-inline{display:inline-flex;align-items:center;gap:var(--bz-s2)}

/* ---------- Auth / Login (glass card on travel photo) ---------- */
.bz-login{position:relative;min-height:100vh;overflow:hidden;background:var(--bz-ink);font-family:'Inter',system-ui,sans-serif}
/* full-screen travel photo with a slow ken-burns drift */
.bz-login-photo{position:absolute;inset:-4%;z-index:0;background:url(../../uploads/login-bg.jpg) center/cover no-repeat;animation:bz-kenburns 30s ease-in-out infinite alternate;will-change:transform}
/* darkening + teal-tinted scrim so the glass card & text stay readable */
.bz-login-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,rgba(11,31,44,.86) 0%,rgba(11,31,44,.55) 45%,rgba(20,119,106,.35) 100%)}
/* floating animated shapes over the photo */
.bz-login-fx{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}
.bz-shape{position:absolute;opacity:.4;will-change:transform}
.bz-shape--ring{width:150px;height:150px;border:3px solid rgba(255,255,255,.4);border-radius:50%;top:14%;right:12%;animation:bz-spin 26s linear infinite,bz-drift 14s ease-in-out infinite}
.bz-shape--square{width:88px;height:88px;border:3px solid rgba(255,107,84,.55);border-radius:16px;bottom:16%;right:24%;animation:bz-spin 22s linear infinite reverse,bz-drift 12s ease-in-out infinite}
.bz-shape--dot{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.7)}
.bz-shape--dot1{top:24%;right:40%;animation:bz-bob 8s ease-in-out infinite}
.bz-shape--dot2{top:66%;right:14%;animation:bz-bob 11s ease-in-out infinite .6s}
.bz-shape--dot3{top:40%;right:8%;animation:bz-bob 9s ease-in-out infinite .3s}
.bz-shape--dot4{bottom:26%;right:46%;animation:bz-bob 12s ease-in-out infinite .9s}
.bz-plane{position:absolute;top:30%;left:-8%;font-size:2rem;color:rgba(255,255,255,.8);text-shadow:0 4px 18px rgba(0,0,0,.4);transform:rotate(12deg);animation:bz-fly 20s linear infinite}
/* layout: glass card left, hero copy right */
.bz-login-wrap{position:relative;z-index:3;min-height:100vh;display:grid;grid-template-columns:minmax(340px,440px) 1fr;align-items:center;gap:var(--bz-s7);padding:var(--bz-s5) clamp(var(--bz-s5),6vw,96px)}
.bz-login-card{background:rgba(255,255,255,.14);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid rgba(255,255,255,.28);border-radius:24px;padding:var(--bz-s6);box-shadow:0 30px 80px rgba(0,0,0,.45);color:#fff;animation:bz-rise .7s cubic-bezier(.2,.7,.2,1) both}
.bz-login-brand{font-size:1.9rem;font-weight:800;margin-top:var(--bz-s4);color:#fff;letter-spacing:-.5px}
.bz-login-brand span{color:var(--bz-accent)}
.bz-login-tag{color:rgba(255,255,255,.8);margin-top:2px;font-size:var(--bz-fs-sm)}
.bz-login-welcome{font-size:1.5rem;font-weight:700;color:#fff;margin-top:var(--bz-s5)}
.bz-login-sub{color:rgba(255,255,255,.72);font-size:var(--bz-fs-sm);margin-bottom:var(--bz-s5)}
/* glass form fields override the default light inputs */
.bz-login-card .bz-field span{color:rgba(255,255,255,.85)}
.bz-login-card .bz-field input{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff}
.bz-login-card .bz-field input::placeholder{color:rgba(255,255,255,.6)}
.bz-login-card .bz-field input:focus{border-color:var(--bz-accent);background:rgba(255,255,255,.18);box-shadow:0 0 0 3px rgba(255,107,84,.28);outline:none}
.bz-login-card .bz-btn--block{margin-top:var(--bz-s5)}
/* hero copy over the photo (hidden on small screens) */
.bz-login-hero{color:#fff;max-width:520px;justify-self:end;text-align:right;text-shadow:0 6px 30px rgba(0,0,0,.5);animation:bz-rise .9s .1s cubic-bezier(.2,.7,.2,1) both}
.bz-login-hero h2{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800;line-height:1.05;letter-spacing:-1px}
.bz-login-hero p{margin-top:var(--bz-s4);font-size:var(--bz-fs-md);color:rgba(255,255,255,.85)}
@keyframes bz-kenburns{from{transform:scale(1) translate(0,0)}to{transform:scale(1.12) translate(-2%,-2%)}}
@keyframes bz-spin{to{transform:rotate(360deg)}}
@keyframes bz-drift{0%,100%{margin-top:0}50%{margin-top:-28px}}
@keyframes bz-bob{0%,100%{transform:translateY(0);opacity:.55}50%{transform:translateY(-24px);opacity:.95}}
@keyframes bz-fly{0%{transform:translate(0,0) rotate(12deg)}100%{transform:translate(130vw,-14vh) rotate(12deg)}}
@keyframes bz-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media (max-width:860px){
    .bz-login-wrap{grid-template-columns:1fr;justify-items:center;padding:var(--bz-s5)}
    .bz-login-card{width:100%;max-width:420px}
    .bz-login-hero{display:none}
}
@media (prefers-reduced-motion:reduce){.bz-login-photo,.bz-shape,.bz-plane,.bz-login-card,.bz-login-hero{animation:none!important}}

/* ---------- Utilities ---------- */
.bz-muted{color:var(--bz-text-muted)}
.bz-mt-4{margin-top:var(--bz-s4)}
.bz-grid-2{display:grid;grid-template-columns:2fr 1fr;gap:var(--bz-s5)}
.bz-empty{text-align:center;padding:var(--bz-s7);color:var(--bz-text-muted)}

/* ---------- Extra utilities ---------- */
.bz-nowrap{white-space:nowrap}
.bz-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--bz-s5)}
.bz-card--form{max-width:820px}
.bz-field--wide{grid-column:1/-1}
.bz-kpi-grid--3{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
/* Compact transaction-summary cards — reused on party-type lists AND single-account pages. */
.bz-parties-kpis{grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:var(--bz-s3)}
.bz-parties-kpis .bz-kpi{padding:12px 14px}
.bz-parties-kpis .bz-kpi-label{font-size:.62rem}
.bz-parties-kpis .bz-kpi-value{font-size:1.25rem;margin-top:5px}
.bz-parties-kpis .bz-kpi-cur{font-size:.8rem;font-weight:600;color:var(--bz-text-muted)}
.bz-parties-kpis .bz-kpi-sub{font-size:.62rem;margin-top:6px;opacity:.85}
.bz-kpi-count{display:inline-block;margin-left:5px;padding:1px 7px;border-radius:999px;background:rgba(99,102,241,.14);color:#4f46e5;font-size:.6rem;font-weight:700;vertical-align:middle}
.bz-card-head--split{display:flex;align-items:center;justify-content:space-between}
.bz-alert code{background:rgba(0,0,0,.06);padding:.1rem .4rem;border-radius:var(--bz-radius-sm);font-size:var(--bz-fs-sm);word-break:break-all}

/* ---------- Master / report tiles ---------- */
.bz-master-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--bz-s4)}
.bz-master-tile{display:flex;flex-direction:column;gap:var(--bz-s2);padding:var(--bz-s5);background:var(--bz-surface);border:1px solid var(--bz-border);border-radius:var(--bz-radius-lg);box-shadow:var(--bz-shadow-sm);transition:transform var(--bz-transition),box-shadow var(--bz-transition)}
.bz-master-tile:hover{transform:translateY(-2px);box-shadow:var(--bz-shadow);border-color:var(--bz-primary)}
.bz-master-tile-title{font-weight:700;color:var(--bz-ink);font-size:var(--bz-fs-lg)}
.bz-master-tile-sub{font-size:var(--bz-fs-xs);color:var(--bz-text-muted)}

/* ---------- Tabs ---------- */
.bz-tabs{display:flex;gap:var(--bz-s2);margin-bottom:var(--bz-s4);border-bottom:1px solid var(--bz-border)}
.bz-tab{padding:.55rem var(--bz-s4);font-size:var(--bz-fs-sm);font-weight:600;color:var(--bz-text-muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.bz-tab:hover{color:var(--bz-primary)}
.bz-tab.is-active{color:var(--bz-primary);border-bottom-color:var(--bz-accent)}

/* ---------- Filter bar / inline form ---------- */
.bz-filterbar{display:flex;gap:var(--bz-s2);align-items:center;margin-bottom:var(--bz-s4);flex-wrap:wrap}
.bz-filterbar--wrap{flex-wrap:wrap}
.bz-filterbar input,.bz-filterbar select{padding:.5rem var(--bz-s3);border:1px solid var(--bz-border);border-radius:var(--bz-radius);background:var(--bz-surface);font-size:var(--bz-fs-sm);color:var(--bz-text);font-family:inherit}
.bz-filterbar input:focus,.bz-filterbar select:focus{outline:none;border-color:var(--bz-primary)}
.bz-inline-form{display:flex;gap:var(--bz-s2);align-items:center;flex-wrap:wrap}
.bz-inline-form input,.bz-inline-form select{flex:1;min-width:160px;padding:.55rem var(--bz-s3);border:1px solid var(--bz-border);border-radius:var(--bz-radius);background:var(--bz-surface);font-size:var(--bz-fs-sm);font-family:inherit}

/* ---------- Definition list ---------- */
.bz-deflist{display:grid;grid-template-columns:auto 1fr;gap:.55rem var(--bz-s4);font-size:var(--bz-fs-sm)}
.bz-deflist dt{color:var(--bz-text-muted);font-weight:600}
.bz-deflist dd{color:var(--bz-text)}

/* ---------- Timeline ---------- */
.bz-timeline{list-style:none;margin-top:var(--bz-s4);display:flex;flex-direction:column;gap:var(--bz-s3)}
.bz-timeline-item{position:relative;padding-left:var(--bz-s5);font-size:var(--bz-fs-sm)}
.bz-timeline-item::before{content:"";position:absolute;left:6px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--bz-primary)}
.bz-timeline-item--note::before{background:var(--bz-gold)}
.bz-timeline-time{display:block;font-size:var(--bz-fs-xs);color:var(--bz-text-muted)}
.bz-timeline-text{color:var(--bz-text)}

/* ---------- Email (Gmail/Zoho-style) ---------- */
.bz-mail{display:grid;grid-template-columns:230px 1fr;gap:var(--bz-s5);align-items:start}
.bz-mail-nav{display:flex;flex-direction:column;gap:var(--bz-s4)}
.bz-compose-btn{display:flex;align-items:center;justify-content:center;gap:var(--bz-s2);box-shadow:var(--bz-shadow)}
.bz-mail-folders{display:flex;flex-direction:column;gap:2px}
.bz-mail-folder{display:flex;align-items:center;justify-content:space-between;padding:.6rem var(--bz-s3);border-radius:var(--bz-radius-pill);font-size:var(--bz-fs-sm);font-weight:500;color:var(--bz-text);transition:all var(--bz-transition)}
.bz-mail-folder-l{display:flex;align-items:center;gap:var(--bz-s3)}
.bz-mail-folder-l svg{color:var(--bz-text-muted);flex:none}
.bz-mail-folder:hover{background:var(--bz-surface-2)}
.bz-mail-folder.is-active{background:var(--bz-primary-100);color:var(--bz-primary-600);font-weight:700}
.bz-mail-folder.is-active svg{color:var(--bz-primary-600)}

/* list */
.bz-mail-list{background:var(--bz-surface);border:1px solid var(--bz-border);border-radius:var(--bz-radius-lg);overflow:hidden;box-shadow:var(--bz-shadow-sm)}
.bz-mail-item{display:grid;grid-template-columns:28px 190px 1fr auto;gap:var(--bz-s3);align-items:center;padding:.7rem var(--bz-s4);border-bottom:1px solid var(--bz-border);transition:background var(--bz-transition)}
.bz-mail-item:last-child{border-bottom:0}
.bz-mail-item:hover{background:var(--bz-surface-2);box-shadow:inset 3px 0 0 var(--bz-primary)}
.bz-mail-item.is-unread{background:#fff}
.bz-mail-item.is-unread .bz-mail-subject,.bz-mail-item.is-unread .bz-mail-from{font-weight:700;color:var(--bz-ink)}
.bz-mail-star{color:#CBD0DE;display:grid;place-items:center}
.bz-mail-star.is-on{color:var(--bz-gold)}
.bz-mail-from{font-size:var(--bz-fs-sm);color:var(--bz-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}
.bz-thread-count{font-size:.68rem;font-weight:700;color:var(--bz-text-muted);background:var(--bz-surface-2);border:1px solid var(--bz-border);border-radius:var(--bz-radius-pill);padding:0 6px}
.bz-mail-main{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.bz-mail-subject{font-size:var(--bz-fs-sm);color:var(--bz-text)}
.bz-mail-snippet{font-size:var(--bz-fs-sm);color:var(--bz-text-muted)}
.bz-mail-meta{display:flex;align-items:center;gap:var(--bz-s2);color:var(--bz-text-muted)}
.bz-mail-date{font-size:var(--bz-fs-xs);color:var(--bz-text-muted);white-space:nowrap}

/* reading pane / thread — Gmail-style conversation */
.bz-thread-subject{font-size:var(--bz-fs-xl)!important;display:flex;align-items:center;gap:var(--bz-s3)}
.bz-thread-badge{font-size:var(--bz-fs-xs);font-weight:700;color:var(--bz-text-muted);background:var(--bz-surface-2);border:1px solid var(--bz-border);border-radius:var(--bz-radius-pill);padding:1px 9px}
.bz-mail-read{display:flex;flex-direction:column;gap:var(--bz-s4)}

/* one bordered card holds the conversation; messages divided by hairlines */
.bz-thread{background:var(--bz-surface);border:1px solid var(--bz-border);border-radius:var(--bz-radius-lg);box-shadow:var(--bz-shadow-sm);overflow:hidden}
.bz-msg{border-bottom:1px solid var(--bz-border)}
.bz-msg:last-child{border-bottom:0}
.bz-msg-sum{list-style:none;cursor:pointer;padding:var(--bz-s4) var(--bz-s5)}
.bz-msg-sum::-webkit-details-marker{display:none}
.bz-msg:not([open]) .bz-msg-sum:hover{background:var(--bz-surface-2)}
.bz-msg-row{display:flex;align-items:flex-start;gap:var(--bz-s3)}
.bz-msg-avatar{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:var(--bz-fs-lg)}
.bz-msg-id{flex:1;min-width:0}
.bz-msg-top{display:flex;align-items:baseline;gap:8px;min-width:0}
.bz-msg-name{font-weight:700;color:var(--bz-ink);white-space:nowrap;flex:none}
.bz-msg-email{font-size:var(--bz-fs-sm);color:var(--bz-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bz-msg-snip{font-size:var(--bz-fs-sm);color:var(--bz-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.bz-msg-to{font-size:var(--bz-fs-xs);color:var(--bz-text-muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bz-msg-date{font-size:var(--bz-fs-xs);color:var(--bz-text-muted);white-space:nowrap;flex:none;padding-top:2px}
.bz-msg:not([open]) .bz-msg-email,.bz-msg:not([open]) .bz-msg-to{display:none}
.bz-msg[open] .bz-msg-snip{display:none}
.bz-msg-body-wrap{padding:var(--bz-s2) var(--bz-s5) var(--bz-s5) calc(var(--bz-s5) + 40px + var(--bz-s3))}
.bz-mail-body{line-height:1.7;color:var(--bz-text);overflow-wrap:break-word;font-size:var(--bz-fs-base)}
.bz-mail-body img{max-width:100%;height:auto}
.bz-mail-body p{margin:0 0 .6em}
.bz-mail-body blockquote{border-left:3px solid var(--bz-border);padding-left:14px;color:var(--bz-text-muted);margin:10px 0}
.bz-mail-body a{color:var(--bz-primary-600);text-decoration:underline}
.bz-mail-body table{max-width:100%}

/* attachments */
.bz-msg-atts{margin-top:var(--bz-s5);padding-top:var(--bz-s4);border-top:1px solid var(--bz-border)}
.bz-msg-atts-label{font-size:var(--bz-fs-xs);font-weight:600;color:var(--bz-text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:var(--bz-s2)}
.bz-att-row{display:flex;flex-wrap:wrap;gap:var(--bz-s2)}
.bz-att{display:inline-flex;align-items:center;gap:10px;padding:.5rem .8rem;border:1px solid var(--bz-border);border-radius:var(--bz-radius);background:var(--bz-surface-2);max-width:260px}
.bz-att:hover{border-color:var(--bz-primary);background:var(--bz-primary-100)}
.bz-att-ico{color:var(--bz-primary-600);flex:none}
.bz-att-info{min-width:0;display:flex;flex-direction:column;line-height:1.25}
.bz-att-name{font-size:var(--bz-fs-sm);color:var(--bz-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bz-att-info small{color:var(--bz-text-muted);font-size:var(--bz-fs-xs)}

/* reply pills (Gmail) */
.bz-reply-cta{display:flex;gap:var(--bz-s3)}
.bz-pill{display:inline-flex;align-items:center;gap:8px;padding:.55rem 1.1rem;border:1px solid var(--bz-border);border-radius:var(--bz-radius-pill);background:var(--bz-surface);font-size:var(--bz-fs-sm);font-weight:600;color:var(--bz-text);box-shadow:var(--bz-shadow-sm)}
.bz-pill:hover{background:var(--bz-surface-2);border-color:var(--bz-primary);color:var(--bz-primary-600)}
.bz-pill svg{color:var(--bz-text-muted)}
.bz-pill:hover svg{color:var(--bz-primary-600)}

/* inline reply box (Gmail) */
.bz-inline-reply{background:var(--bz-surface);border:1px solid var(--bz-border);border-radius:var(--bz-radius-lg);box-shadow:var(--bz-shadow);overflow:hidden}
.bz-ir-head{display:flex;align-items:center;gap:var(--bz-s3);padding:.7rem var(--bz-s4);border-bottom:1px solid var(--bz-border);background:var(--bz-surface-2)}
.bz-ir-icon{color:var(--bz-text-muted);flex:none;display:grid;place-items:center}
.bz-ir-to{flex:1;display:flex;align-items:center;gap:8px;min-width:0}
.bz-ir-to label{font-size:var(--bz-fs-xs);color:var(--bz-text-muted);flex:none}
.bz-ir-to input{flex:1;border:0;background:transparent;font-size:var(--bz-fs-sm);color:var(--bz-text);padding:.2rem 0}
.bz-ir-to input:focus{outline:none}
.bz-ir-close{color:var(--bz-text-muted);font-size:1.3rem;line-height:1;flex:none;padding:0 4px}
.bz-ir-close:hover{color:var(--bz-accent)}
.bz-ir-cc,.bz-ir-subject{display:flex;align-items:center;gap:8px;padding:.5rem var(--bz-s4);border-bottom:1px solid var(--bz-border)}
.bz-ir-cc label,.bz-ir-subject label{font-size:var(--bz-fs-xs);color:var(--bz-text-muted);flex:none}
.bz-ir-cc input,.bz-ir-subject input{flex:1;border:0;background:transparent;font-size:var(--bz-fs-sm);color:var(--bz-text);padding:.2rem 0}
.bz-ir-cc input:focus{outline:none}
.bz-ir-foot{display:flex;align-items:center;gap:var(--bz-s3);padding:.6rem var(--bz-s4)}
.bz-ir-tools{display:flex;align-items:center;gap:2px}
.bz-ir-discard{margin-left:auto;font-size:var(--bz-fs-sm)}

/* shared rich-text editor surface */
.bz-editor{width:100%;min-height:150px;border:0;padding:var(--bz-s4);font-family:inherit;font-size:var(--bz-fs-base);color:var(--bz-text);line-height:1.6;overflow-y:auto}
.bz-editor:focus{outline:none}
.bz-ir-tools button,.bz-cp-tools button{min-width:30px;height:30px;border:0;background:transparent;border-radius:6px;color:var(--bz-text);font-size:var(--bz-fs-sm);cursor:pointer}
.bz-ir-tools button:hover,.bz-cp-tools button:hover{background:var(--bz-surface-2)}
.bz-att-btn{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:6px;color:var(--bz-text-muted);cursor:pointer}
.bz-att-btn:hover,.bz-att-btn.has-file{color:var(--bz-primary-600);background:var(--bz-surface-2)}
.bz-cc-toggle{border:0;background:transparent;color:var(--bz-primary-600);font-size:var(--bz-fs-xs);font-weight:700;cursor:pointer;flex:none}
.is-hidden{display:none!important}

/* compose floating popup (Gmail bottom-right) */
.bz-compose-pop{position:fixed;right:24px;bottom:0;width:min(540px,calc(100vw - 48px));background:var(--bz-surface);border-radius:12px 12px 0 0;box-shadow:0 -2px 12px rgba(0,0,0,.12),0 20px 40px -8px rgba(24,22,55,.35);z-index:60;display:none;flex-direction:column;max-height:min(640px,85vh)}
.bz-compose-pop.is-open{display:flex}
.bz-cp-head{display:flex;align-items:center;justify-content:space-between;padding:.7rem var(--bz-s4);background:var(--bz-ink);color:#fff;border-radius:12px 12px 0 0;font-size:var(--bz-fs-sm);font-weight:600}
.bz-cp-close{color:rgba(255,255,255,.85);font-size:1.4rem;line-height:1;padding:0 4px}
.bz-cp-close:hover{color:#fff}
.bz-cp-body{display:flex;flex-direction:column;min-height:0;flex:1}
.bz-cp-row{display:flex;align-items:center;gap:8px;padding:.55rem var(--bz-s4);border-bottom:1px solid var(--bz-border)}
.bz-cp-row input,.bz-cp-row select{flex:1;border:0;background:transparent;font-size:var(--bz-fs-sm);color:var(--bz-text);padding:.15rem 0}
.bz-cp-row input:focus,.bz-cp-row select:focus{outline:none}
.bz-cp-tpl{background:var(--bz-surface-2)}
.bz-cp-editor{flex:1;min-height:200px;border-bottom:1px solid var(--bz-border)}
.bz-cp-foot{display:flex;align-items:center;gap:var(--bz-s3);padding:.6rem var(--bz-s4)}
.bz-cp-send{padding:.5rem 1.4rem;border-radius:var(--bz-radius-pill)}
.bz-cp-tools{display:flex;align-items:center;gap:2px}
.bz-cp-discard{margin-left:auto;display:grid;place-items:center;color:var(--bz-text-muted)}
.bz-cp-discard:hover{color:var(--bz-accent)}
@media (max-width:640px){.bz-compose-pop{right:0;width:100vw;border-radius:0}}

/* global search results */
.bz-srch-groups{display:grid;grid-template-columns:1fr 1fr;gap:var(--bz-s5);align-items:start}
.bz-srch-row{display:flex;align-items:center;gap:var(--bz-s3);padding:.6rem var(--bz-s2);border-radius:var(--bz-radius);border-bottom:1px solid var(--bz-border)}
.bz-srch-row:last-child{border-bottom:0}
.bz-srch-row:hover{background:var(--bz-surface-2)}
.bz-srch-ico{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--bz-primary-100);color:var(--bz-primary-600);font-weight:700}
.bz-srch-ico--q{background:#E0F2F1;color:#0F766E}
.bz-srch-main{flex:1;min-width:0;display:flex;flex-direction:column}
.bz-srch-title{font-weight:600;color:var(--bz-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bz-srch-sub{font-size:var(--bz-fs-xs);color:var(--bz-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:900px){.bz-srch-groups{grid-template-columns:1fr}}

/* ---------- Public landing page ---------- */
.bz-lp{background:linear-gradient(135deg,var(--bz-ink),var(--bz-primary-600));min-height:100vh;padding:var(--bz-s6) var(--bz-s5)}
.bz-lp-wrap{max-width:960px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:var(--bz-s6);align-items:center}
.bz-lp-wrap--center{grid-template-columns:1fr;max-width:520px}
.bz-lp-hero{color:var(--bz-text-invert)}
.bz-lp-hero h1{font-size:2.4rem;font-weight:700;line-height:1.15}
.bz-lp-content{margin-top:var(--bz-s4);color:var(--bz-primary-100);white-space:pre-wrap;line-height:1.6}
.bz-lp-form-card{background:var(--bz-surface);border-radius:var(--bz-radius-lg);padding:var(--bz-s6);box-shadow:var(--bz-shadow-lg)}
.bz-lp-form-card h2{color:var(--bz-ink);font-size:var(--bz-fs-xl);font-weight:700;margin-bottom:var(--bz-s4)}

/* ---------- Print / quotation sheet ---------- */
.bz-print{background:#eee;padding:var(--bz-s5)}
.bz-print-sheet{max-width:800px;margin:0 auto;background:#fff;padding:var(--bz-s7);box-shadow:var(--bz-shadow-lg);color:var(--bz-text)}
.bz-print-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid var(--bz-primary);padding-bottom:var(--bz-s4);margin-bottom:var(--bz-s5)}
.bz-print-head h1{color:var(--bz-ink);font-size:var(--bz-fs-2xl)}
.bz-print-brand{font-weight:700;font-size:var(--bz-fs-lg);color:var(--bz-primary)}
.bz-print-brand span{color:var(--bz-accent)}
.bz-print-summary{margin-bottom:var(--bz-s5);line-height:1.6}
.bz-print-day{margin-bottom:var(--bz-s4);padding-bottom:var(--bz-s3);border-bottom:1px solid var(--bz-border)}
.bz-print-day h2{font-size:var(--bz-fs-lg);color:var(--bz-primary-600);margin-bottom:var(--bz-s2)}
.bz-print-day ul{margin-left:var(--bz-s5)}
.bz-print-total{display:flex;justify-content:space-between;align-items:center;background:var(--bz-primary-100);padding:var(--bz-s4);border-radius:var(--bz-radius);margin-top:var(--bz-s5);font-size:var(--bz-fs-lg)}
.bz-print-total strong{color:var(--bz-primary-600);font-size:var(--bz-fs-xl)}
.bz-print-foot{margin-top:var(--bz-s5);font-size:var(--bz-fs-xs);color:var(--bz-text-muted)}
@media print{.bz-print{background:#fff;padding:0}.bz-print-sheet{box-shadow:none;max-width:100%}}

/* ---------- Responsive ---------- */
@media (max-width:992px){
    .bz-mail{grid-template-columns:1fr}
    .bz-lp-wrap{grid-template-columns:1fr}
    .bz-grid-2{grid-template-columns:1fr}
    .bz-main{margin-left:0}
    .bz-sidebar{transform:translateX(-100%)}
    .bz-app.is-open .bz-sidebar{transform:translateX(0)}
    .bz-burger{display:flex}
}
@media (max-width:640px){
    .bz-auth{grid-template-columns:1fr;text-align:center}
    .bz-content{padding:var(--bz-s4)}
    .bz-topbar-search{display:none}
}

/* --- Central form validation (bz-validate.js) --- */
.bz-field input.bz-invalid,
.bz-field select.bz-invalid,
.bz-field textarea.bz-invalid,
input.bz-invalid,
select.bz-invalid,
textarea.bz-invalid{
    border-color:#dc2626 !important;
    box-shadow:0 0 0 3px rgba(220,38,38,.15) !important;
}
.bz-err{
    display:none;
    margin-top:.25rem;
    color:#dc2626;
    font-size:.78rem;
    font-weight:600;
    line-height:1.25;
}

/* Server-side validation summary (rare no-JS fallback) */
.bz-form-errors{
    background:#fef2f2;
    border:1px solid #fecaca;
    color:#b91c1c;
    border-radius:var(--bz-radius,8px);
    padding:.7rem .9rem;
    margin-bottom:1rem;
    font-size:.85rem;
}
.bz-form-errors strong{display:block;margin-bottom:.3rem}
.bz-form-errors ul{margin:0;padding-left:1.1rem}
.bz-form-errors li{margin:.1rem 0}

.bz-plan-wrap{position:relative;z-index:3;min-height:100vh;display:flex;flex-direction:column;align-items:center;gap:var(--bz-s5);padding:clamp(var(--bz-s5),5vw,64px) clamp(var(--bz-s4),5vw,64px);font-family:'Inter',system-ui,sans-serif}
.bz-plan-head{text-align:center;color:#fff;max-width:640px}
.bz-plan-head .bz-brand-mark{margin:0 auto}
.bz-plan-head h1{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:800;letter-spacing:-.5px;margin-top:var(--bz-s4)}
.bz-plan-head p{color:rgba(255,255,255,.82);margin-top:6px;font-size:var(--bz-fs-md,1rem)}
.bz-plan-panel{width:100%;max-width:1080px;background:var(--bz-surface,#fff);border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.45);padding:clamp(var(--bz-s4),3vw,var(--bz-s6));animation:bz-rise .7s cubic-bezier(.2,.7,.2,1) both}
.bz-plan-controls{display:flex;flex-wrap:wrap;gap:var(--bz-s5);align-items:flex-end;justify-content:space-between;margin-bottom:var(--bz-s5)}
.bz-ctrl{flex:1 1 260px;min-width:240px}
.bz-ctrl>span{display:block;font-size:var(--bz-fs-sm);font-weight:700;color:var(--bz-ink);margin-bottom:var(--bz-s3)}
.bz-seg{display:inline-flex;flex-wrap:wrap;gap:4px;background:var(--bz-bg,#f1f2f6);border-radius:999px;padding:4px}
.bz-seg button{border:0;background:transparent;padding:.5rem .9rem;border-radius:999px;font:inherit;font-size:var(--bz-fs-sm);font-weight:600;color:var(--bz-muted-ink,#5b6472);cursor:pointer;white-space:nowrap;position:relative}
.bz-seg button .bz-seg-off{display:block;font-size:.65rem;font-weight:700;color:var(--bz-accent-600);margin-top:1px}
.bz-seg button.is-active{background:var(--bz-accent);color:#fff;box-shadow:0 4px 12px -4px rgba(244,63,94,.5)}
.bz-seg button.is-active .bz-seg-off{color:#fff}
.bz-slider-row{display:flex;align-items:center;gap:var(--bz-s4)}
.bz-slider-row input[type=range]{flex:1;accent-color:var(--bz-accent)}
.bz-slider-val{font-size:1.5rem;font-weight:800;color:var(--bz-ink);min-width:2.5ch;text-align:center}
.bz-slider-val small{display:block;font-size:.6rem;font-weight:700;color:var(--bz-muted-ink,#5b6472);letter-spacing:.05em;text-transform:uppercase}
.bz-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--bz-s4)}
.bz-plan-card{position:relative;border:2px solid var(--bz-border,#e4e7ec);border-radius:18px;padding:var(--bz-s5);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;background:var(--bz-surface,#fff);display:flex;flex-direction:column}
.bz-plan-card:hover{border-color:var(--bz-accent);transform:translateY(-2px)}
.bz-plan-card.is-selected{border-color:var(--bz-accent);box-shadow:0 12px 30px -12px rgba(244,63,94,.55)}
.bz-plan-card.is-disabled{opacity:.5;pointer-events:none;filter:grayscale(.4)}
.bz-plan-card input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.bz-plan-card .bz-plan-name{font-size:1.15rem;font-weight:800;color:var(--bz-ink)}
.bz-plan-card .bz-plan-trial{font-size:var(--bz-fs-sm);color:var(--bz-muted-ink,#5b6472);margin-top:2px}
.bz-plan-card .bz-price{margin-top:var(--bz-s4);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.bz-plan-card .bz-price-now{font-size:1.7rem;font-weight:800;color:var(--bz-ink);line-height:1}
.bz-plan-card .bz-price-was{font-size:1rem;color:var(--bz-muted-ink,#98a2b3);text-decoration:line-through}
.bz-plan-card .bz-price-per{font-size:var(--bz-fs-sm);color:var(--bz-muted-ink,#5b6472);margin-top:4px}
.bz-plan-card .bz-price-na{margin-top:var(--bz-s4);font-size:var(--bz-fs-sm);color:var(--bz-muted-ink,#98a2b3);font-weight:600}
.bz-plan-card .bz-plan-pick{margin-top:auto;padding-top:var(--bz-s4)}
.bz-plan-card .bz-plan-pick span{display:block;text-align:center;padding:.5rem;border-radius:999px;border:1.5px solid var(--bz-border,#e4e7ec);font-size:var(--bz-fs-sm);font-weight:700;color:var(--bz-muted-ink,#5b6472)}
.bz-plan-card.is-selected .bz-plan-pick span{background:var(--bz-accent);border-color:var(--bz-accent);color:#fff}
.bz-plan-summary{margin-top:var(--bz-s5);padding-top:var(--bz-s5);border-top:1px solid var(--bz-border,#e4e7ec);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--bz-s4)}
.bz-plan-summary .bz-sum-txt{font-size:var(--bz-fs-sm);color:var(--bz-muted-ink,#5b6472)}
.bz-plan-summary .bz-sum-amt{font-size:1.5rem;font-weight:800;color:var(--bz-ink)}
.bz-plan-form{margin-top:var(--bz-s5);display:grid;grid-template-columns:1fr 1fr;gap:var(--bz-s4)}
.bz-plan-form .bz-field--wide{grid-column:1/-1}
.bz-plan-panel .bz-alert{margin-bottom:var(--bz-s5)}
.bz-plan-foot{color:rgba(255,255,255,.8);font-size:var(--bz-fs-sm);text-align:center}
.bz-plan-foot a{color:#fff;font-weight:600}
@media (max-width:640px){.bz-plan-form{grid-template-columns:1fr}}

.bz-loader{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(20,19,41,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:bzLoaderIn .18s ease}
.bz-loader[hidden]{display:none}
@keyframes bzLoaderIn{from{opacity:0}to{opacity:1}}
.bz-loader-card{width:min(92vw,360px);background:var(--bz-surface);border-radius:var(--bz-radius-lg);box-shadow:var(--bz-shadow-lg);padding:var(--bz-s6) var(--bz-s5);text-align:center}
.bz-loader-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:var(--bz-s4);font-weight:700;font-size:var(--bz-fs-lg);color:var(--bz-text)}
.bz-loader-brand img{height:34px;width:auto}
.bz-loader-spin{width:44px;height:44px;margin:0 auto var(--bz-s3);border-radius:50%;border:4px solid var(--bz-primary-100);border-top-color:var(--bz-primary);animation:bzSpin .8s linear infinite}
@keyframes bzSpin{to{transform:rotate(360deg)}}
.bz-loader-msg{font-size:var(--bz-fs-sm);color:var(--bz-text-muted)}
.bz-loader-offers:not(:empty){margin-top:var(--bz-s4);border-top:1px solid var(--bz-border);padding-top:var(--bz-s4)}
.bz-loader-offer{animation:bzLoaderIn .3s ease}
.bz-loader-offer-img{height:96px;border-radius:var(--bz-radius);background-size:cover;background-position:center;margin-bottom:var(--bz-s3)}
.bz-loader-offer-badge{display:inline-block;background:var(--bz-grad-accent);color:#fff;font-size:var(--bz-fs-xs);font-weight:600;padding:2px 10px;border-radius:var(--bz-radius-pill);margin-bottom:6px}
.bz-loader-offer-title{font-weight:600;color:var(--bz-text);font-size:var(--bz-fs-base)}
.bz-loader-offer-sub{font-size:var(--bz-fs-sm);color:var(--bz-text-muted);margin-top:2px}
.bz-loader-offer-price{margin-top:6px;font-size:var(--bz-fs-base);color:var(--bz-text)}
.bz-loader-offer-price s{color:var(--bz-text-muted);font-size:var(--bz-fs-sm)}
.bz-loader-offer-price b{color:var(--bz-primary-600)}
@media (prefers-reduced-motion:reduce){.bz-loader{animation:none}.bz-loader-spin{animation-duration:1.6s}.bz-loader-offer{animation:none}}

.bz-toast-wrap{position:fixed;top:16px;right:16px;z-index:10000;display:flex;flex-direction:column;gap:10px;width:min(92vw,360px);pointer-events:none}
.bz-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;background:var(--bz-surface);border-radius:var(--bz-radius);box-shadow:var(--bz-shadow-lg);border-left:4px solid var(--bz-text-muted);padding:12px 14px;transform:translateX(120%);opacity:0;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .28s}
.bz-toast.is-in{transform:none;opacity:1}
.bz-toast.is-out{transform:translateX(120%);opacity:0}
.bz-toast--success{border-left-color:var(--bz-st-confirmed)}
.bz-toast--error{border-left-color:var(--bz-accent)}
.bz-toast--info{border-left-color:var(--bz-primary)}
.bz-toast--warning{border-left-color:var(--bz-gold)}
.bz-toast-ic{flex:0 0 auto;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:.72rem;font-weight:700;line-height:1}
.bz-toast--success .bz-toast-ic{background:var(--bz-st-confirmed)}
.bz-toast--error .bz-toast-ic{background:var(--bz-accent)}
.bz-toast--info .bz-toast-ic{background:var(--bz-primary)}
.bz-toast--warning .bz-toast-ic{background:var(--bz-gold)}
.bz-toast-body{flex:1;min-width:0}
.bz-toast-msg{font-size:var(--bz-fs-sm);color:var(--bz-text);line-height:1.4;word-wrap:break-word}
.bz-toast-action{display:inline-block;margin-top:6px;font-size:var(--bz-fs-sm);font-weight:600;color:var(--bz-primary-600);text-decoration:none}
.bz-toast-action:hover{text-decoration:underline}
.bz-toast-close{flex:0 0 auto;background:none;border:0;color:var(--bz-text-muted);font-size:1.2rem;line-height:1;cursor:pointer;padding:0 2px;opacity:.7}
.bz-toast-close:hover{opacity:1}
@media (prefers-reduced-motion:reduce){.bz-toast{transition:opacity .2s}.bz-toast.is-in{transform:none}.bz-toast.is-out{transform:none}}

.bz-company-switch{position:relative}
.bz-company-btn{display:inline-flex;align-items:center;gap:8px;max-width:230px;padding:.35rem .6rem;border:1px solid var(--bz-border);border-radius:var(--bz-radius-pill);background:var(--bz-surface);color:var(--bz-text);font-size:var(--bz-fs-sm);font-weight:600;cursor:pointer;transition:all var(--bz-transition)}
.bz-company-btn:hover{border-color:var(--bz-primary);color:var(--bz-primary)}
.bz-company-btn:focus-visible{outline:none;box-shadow:var(--bz-ring)}
.bz-company-ic{font-size:1rem;line-height:1}
.bz-company-name{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bz-company-caret{color:var(--bz-text-muted);font-size:.85rem}

/* ===== Icons → British blue (#0052A5) =====
   Content/topbar icons go British blue. The dark sidebar keeps its own light
   icons (blue-on-dark would vanish). Icons inside solid coloured buttons keep
   the button's own text colour (white) for contrast. */
.bz-content .bz-ic,
.bz-topbar .bz-ic{background:#0052A5;opacity:1}
.bz-btn .bz-ic{background:currentColor}
.bz-icon-btn{color:#0052A5}
.bz-icon-btn:hover{color:#013A75;border-color:#0052A5}
.bz-content .bz-back svg,
.bz-content .bz-pill svg,
.bz-content .bz-ir-icon,
.bz-content .bz-mail-folder-l svg{color:#0052A5}
.bz-company-menu.dropdown-menu{width:300px;max-width:90vw;padding:0;border:1px solid var(--bz-border);border-radius:var(--bz-radius);box-shadow:0 10px 30px rgba(0,0,0,.15);overflow:hidden}
.bz-company-menu-head{padding:10px 14px;font-size:var(--bz-fs-xs);text-transform:uppercase;letter-spacing:.6px;font-weight:700;color:var(--bz-text-muted);border-bottom:1px solid var(--bz-border)}
.bz-company-menu-list{max-height:320px;overflow-y:auto}
.bz-company-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;text-decoration:none;color:var(--bz-text);border-bottom:1px solid var(--bz-border)}
.bz-company-item:last-child{border-bottom:0}
.bz-company-item:hover{background:var(--bz-primary-100)}
.bz-company-item.is-current{background:var(--bz-surface-2)}
.bz-company-item-name{font-size:var(--bz-fs-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bz-company-item-meta{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px}
.bz-company-item-curr{font-size:11px;font-weight:600;color:var(--bz-text-muted)}
.bz-company-item-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#fff;background:var(--bz-primary);border-radius:var(--bz-radius-pill);padding:2px 8px}
.bz-company-menu-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid var(--bz-border);background:var(--bz-surface-2)}
.bz-company-count{font-size:var(--bz-fs-xs);color:var(--bz-text-muted);font-weight:600}
.bz-company-add{font-size:var(--bz-fs-sm);font-weight:600;color:var(--bz-primary);text-decoration:none}
.bz-company-add:hover{text-decoration:underline}
@media (max-width:640px){.bz-company-name{max-width:90px}}
