body.bc-portal{margin:0;min-height:100vh;background:var(--bc-light,#f6f7f9);color:var(--bc-secondary,#222);font-family:var(--bc-font-body,Arial,sans-serif);font-size:16px;line-height:1.5}body.bc-portal *{box-sizing:border-box}body.bc-portal a{color:inherit;text-decoration:none}body.bc-portal h1,body.bc-portal h2,body.bc-portal h3{font-family:var(--bc-font-heading,Arial,sans-serif);line-height:1.2}.bc-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.bc-sidebar{background:var(--bc-secondary,#222);color:#fff;padding:24px 16px;display:flex;flex-direction:column;gap:34px}.bc-brand{display:flex;align-items:center;gap:12px;padding:4px 12px;font-weight:750;font-size:17px}.bc-brand img{max-width:118px;max-height:44px;object-fit:contain}.bc-brand span{font-size:11px;opacity:.65;text-transform:uppercase;letter-spacing:.09em}.bc-sidebar nav,.bc-sidebar-bottom{display:grid;gap:5px}.bc-sidebar nav a,.bc-sidebar-bottom a{border-radius:10px;padding:10px 14px;min-height:44px;display:flex;align-items:center}.bc-sidebar nav a:hover,.bc-sidebar-bottom a:hover,.bc-sidebar nav a.is-active{background:rgba(255,255,255,.15)}.bc-sidebar nav a.is-active{border-left:3px solid var(--bc-accent,#2f80ed)}.bc-sidebar-bottom{margin-top:auto;font-size:14px}.bc-main{min-width:0}.bc-top{height:72px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 clamp(20px,3vw,48px);border-bottom:1px solid rgba(0,0,0,.08)}.bc-top>span{font-weight:700}.bc-top>div{font-size:14px}.bc-content{max-width:1600px;padding:32px clamp(18px,3vw,48px) 64px;margin:auto}.bc-page-title{margin-bottom:24px}.bc-page-title span{display:block;color:var(--bc-primary,#0d2742);font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:700}.bc-page-title h1{font-size:clamp(27px,3vw,39px);margin:6px 0 0}.bc-welcome{border-radius:18px;padding:32px;background:var(--bc-primary,#0d2742);color:#fff}.bc-welcome span{font-size:13px;text-transform:uppercase;letter-spacing:.1em;opacity:.8}.bc-welcome h2{font-size:clamp(23px,3vw,34px);margin:8px 0}.bc-welcome p{margin:0}.bc-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 32px}.bc-overview>div,.bc-card,.bc-modules a,.bc-empty{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:22px}.bc-overview span{display:block;font-size:13px}.bc-overview strong{font-size:27px}.bc-modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.bc-modules a{display:grid;gap:30px}.bc-modules a:hover{border-color:var(--bc-accent,#2f80ed)}.bc-modules span{color:var(--bc-primary,#0d2742);font-size:14px}.bc-card{max-width:640px}.bc-card a{color:var(--bc-primary,#0d2742)!important;text-decoration:underline!important}.bc-menu-toggle{position:absolute;opacity:0;width:1px;height:1px}.bc-menu-button{display:none}.bc-login{display:grid;place-items:center;padding:28px}.bc-login-card{width:min(100%,440px);background:#fff;border-radius:18px;padding:36px;box-shadow:0 16px 50px rgba(0,0,0,.1)}.bc-login-card>img{max-width:180px;max-height:72px;object-fit:contain}.bc-login-card h1{margin:24px 0 6px}.bc-login-card>p{color:#555;margin-top:0}.bc-login-card #loginform{display:grid;gap:12px}.bc-login-card #loginform p{margin:0}.bc-login-card #loginform label{display:block;font-weight:600;margin-bottom:6px}.bc-login-card input[type=text],.bc-login-card input[type=password]{display:block;width:100%;min-height:46px;font-size:16px;padding:10px;border:1px solid #adb5bd;border-radius:8px}.bc-login-card input[type=submit]{border:0;background:var(--bc-primary,#0d2742);color:#fff;min-height:46px;width:100%;border-radius:8px;font-weight:700;cursor:pointer}.bc-login-help{font-size:14px;margin:14px 0 0!important}.bc-login-help a{text-decoration:underline!important}@media(max-width:800px){.bc-shell{display:block}.bc-sidebar{position:fixed;z-index:100;inset:0 auto 0 0;width:min(83vw,300px);transform:translateX(-102%);transition:transform .2s ease;overflow:auto}.bc-menu-toggle:checked~.bc-sidebar{transform:none}.bc-menu-button{display:block;font-size:25px;cursor:pointer;line-height:1}.bc-top{height:62px}.bc-content{padding:22px 18px 56px}.bc-overview{grid-template-columns:1fr 1fr}}@media(max-width:460px){.bc-overview{grid-template-columns:1fr}.bc-top>div{max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
/* Core 1.2.1: full viewport workspace. */
html { margin-top: 0 !important; }
body.bc-portal:not(.bc-login) { width: 100vw; height: 100vh; height: 100dvh; overflow: hidden; background: #f7f8fa; color: #242a32; }
.bc-shell { width: 100vw; height: 100vh; height: 100dvh; min-height: 0; overflow: hidden; grid-template-columns: 224px minmax(0,1fr); }
.bc-sidebar { min-height: 0; overflow-y: auto; background: #fff; color: #242a32; border-right: 1px solid #e9ebef; padding: 24px 12px 18px; gap: 30px; }
.bc-brand { flex-direction: column; align-items: flex-start; gap: 5px; min-height: 48px; padding: 0 12px; font-size: 16px; }
.bc-brand span { color: #8b929d; opacity: 1; font-size: 10px; }
.bc-sidebar nav a, .bc-sidebar-bottom a { min-height: 40px; padding: 9px 12px; border-radius: 8px; color: #666e79; font-size: 13px; }
.bc-sidebar nav a:hover, .bc-sidebar-bottom a:hover, .bc-sidebar nav a.is-active, .bc-sidebar-bottom a.is-active { background: #f1f3f5; color: #242a32; }
.bc-sidebar nav a.is-active { border-left: 0; font-weight: 700; }
.bc-sidebar nav a.is-active::before { content: ''; width: 3px; height: 16px; margin-right: 9px; border-radius: 3px; background: var(--bc-primary,#2e526e); }
.bc-sidebar-bottom { padding-top: 14px; border-top: 1px solid #eef0f2; }
.bc-main { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.bc-top { flex: 0 0 60px; height: 60px; border-bottom: 1px solid #e9ebef; padding: 0 clamp(22px,3vw,44px); }
.bc-top>span { font-size: 13px; font-weight: 650; }
.bc-top>div { color: #7b838d; font-size: 12px; }
.bc-content { flex: 1 1 auto; min-height: 0; width: 100%; max-width: none; margin: 0; padding: 30px clamp(22px,3vw,44px) 56px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.bc-page-title { margin-bottom: 23px; }
.bc-page-title span { color: #8b929d; font-size: 11px; }
.bc-page-title h1 { font-size: clamp(24px,2vw,31px); font-weight: 680; }
.bc-welcome, .bc-overview>div, .bc-card, .bc-modules a, .bc-empty { background: #fff; border: 1px solid #e8eaee; border-radius: 10px; box-shadow: none; }
.bc-welcome { padding: 25px 28px; color: #242a32; }
.bc-welcome span { color: #8b929d; opacity: 1; font-size: 11px; }
.bc-welcome h2 { font-size: clamp(21px,2vw,27px); }
.bc-welcome p { color: #69717c; font-size: 13px; }
.bc-overview { gap: 12px; margin: 14px 0 32px; }
.bc-overview>div { padding: 18px 21px; }
.bc-overview span { color: #858d98; }
.bc-overview strong { font-size: 26px; }
.bc-modules { gap: 12px; }
.bc-modules a { gap: 26px; padding: 20px; }
.bc-modules a:hover { border-color: #c9cdd4; }
.bc-modules span { color: #737c87; font-size: 12px; }
.bc-login-card { border: 1px solid #e8eaee; border-radius: 12px; box-shadow: none; }
.bc-scrim { display: none; }
body.bc-portal .bc-content .kbt-app { width: 100%; max-width: none; margin: 0; }
body.bc-portal .bc-content .kbt-hero { border-radius: 10px; box-shadow: none; padding: 20px 24px; }
body.bc-portal .bc-content .kbt-hero h2 { font-size: 23px; }
body.bc-portal .bc-content .kbt-tabs, body.bc-portal .bc-content .kbt-toolbar, body.bc-portal .bc-content .kbt-card { border-radius: 10px; }
body.bc-portal .bc-content .kbt-tabs { margin-top: 14px; }
@media(max-width:800px) {
  .bc-shell { display: block; }
  .bc-sidebar { height: 100vh; height: 100dvh; width: min(85vw,280px); }
  .bc-menu-toggle:checked~.bc-scrim { display: block; position: fixed; z-index: 90; inset: 0; background: rgba(23,28,36,.3); }
  .bc-main { height: 100vh; height: 100dvh; }
  .bc-top { flex-basis: 58px; height: 58px; justify-content: flex-start; }
  .bc-top>div { margin-left: auto; }
  .bc-content { padding: 22px 18px 45px; }
}
@media(max-width:520px) { body.bc-portal .bc-content .kbt-hero { padding: 18px; } }
/* Shared Core tokens and minimalist module controls. */
:root { --bc-border:#e8eaee; --bc-soft:#f1f3f5; --bc-surface:#fff; --bc-muted:#7b838d; --bc-radius:10px; }
.bc-account-profile { margin-bottom: 30px; }
.bc-account-profile p span { color: #737c87; font-size: 13px; }
.bc-account-profile > a { color: var(--bc-primary); font-size: 13px; }
.bc-account-heading { margin: 0 0 14px; font-size: 18px; }
.bc-account-links { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 12px; }
.bc-account-links a { display: grid; gap: 7px; padding: 18px 20px; border: 1px solid var(--bc-border); border-radius: 10px; background: var(--bc-surface); color: inherit; text-decoration: none; }
.bc-account-links a:hover { border-color: color-mix(in srgb,var(--bc-accent) 45%,var(--bc-border)); }
.bc-account-links a strong { font-size: 14px; }
.bc-account-links a span { color: var(--bc-muted); font-size: 12px; }
/* Every Core module can use these shared surface, line, and action tokens. */
.bc-content .kbt-app { --kbt-primary:var(--bc-accent) !important; --kbt-accent:var(--bc-accent) !important; --kbt-line:var(--bc-border) !important; --kbt-soft:var(--bc-soft) !important; }
.bc-content .kbt-tabs button.is-active { background:var(--bc-accent) !important; color:#fff !important; }
.bc-content .kbt-primary, .bc-content button.kbt-primary, .bc-content .kbt-primary:hover { border-color:var(--bc-accent) !important; background:var(--bc-accent) !important; color:#fff !important; }
.bc-content .kbt-card-head button.is-active, .bc-content .kbt-install-tabs button.is-active { border-color:var(--bc-accent) !important; background:var(--bc-accent) !important; color:#fff !important; }
.bc-content .kbt-business-card .kbt-t1-front > .kbt-bc-wordmark { position:absolute; left:27%; top:22%; width:46%; text-align:center; font-size:clamp(13px,2vw,21px); }
.bc-content .kbt-business-card .kbt-t1-back > .kbt-bc-wordmark { position:absolute; right:2.5%; bottom:5%; width:12%; color:var(--tpl-light); font-size:clamp(6px,.8vw,9px); text-align:center; }
.bc-content .kbt-business-card .kbt-t2-mark .kbt-bc-wordmark { display:block; width:100%; font-size:clamp(8px,1vw,12px); }
.bc-content .kbt-business-card .kbt-t3-front > .kbt-bc-wordmark { position:absolute; left:27%; top:42%; width:46%; text-align:center; }
@media(max-width:800px) { .bc-account-links { grid-template-columns:1fr; } }
.bc-workspace-back{display:flex;align-items:center;min-height:42px;padding:9px 12px;border-radius:8px;color:#626b75!important;font-size:13px;font-weight:650}.bc-workspace-back:hover{background:#f1f3f5;color:#242a32!important}.bc-workspace-label{margin:-15px 12px -20px;color:#8b929d;font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.bc-workspace-site{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid var(--bc-border,#e8eaee);border-radius:8px;padding:9px 14px;font-size:13px;font-weight:650;white-space:nowrap}.bc-workspace-site:hover{border-color:var(--bc-accent,#317cfa)}.bc-website-modules{margin-top:16px}.bc-website-modules .bc-empty{grid-column:1/-1}@media(max-width:620px){.bc-ui-hero:has(.bc-workspace-site){align-items:flex-start;flex-direction:column}.bc-workspace-site{width:100%}}

/* Core 1.3.6: shared module layout and controls. Modules use these classes. */
.bc-ui-stack{display:grid;gap:16px}
.bc-ui-panel,.bc-ui-hero,.bc-ui-tabs{background:var(--bc-surface,#fff);border:1px solid var(--bc-border,#e8eaee);border-radius:var(--bc-radius,10px)}
.bc-ui-panel{padding:20px 22px}
.bc-ui-panel h2{font-size:17px;font-weight:650;margin:0 0 16px;color:var(--bc-primary,#172e47)}
.bc-ui-panel p{font-size:14px}
.bc-ui-hero{display:flex;align-items:center;gap:22px;min-height:124px;padding:20px 24px}
.bc-ui-hero-logo{flex:0 0 116px;display:grid;place-items:center;min-width:0}
.bc-ui-hero-logo img{max-width:100px;max-height:70px;object-fit:contain}
.bc-ui-hero-copy{min-width:0;flex:1}
.bc-ui-kicker{display:block;margin-bottom:4px;color:var(--bc-accent,#317cfa);font-size:10px;font-weight:750;letter-spacing:.15em;text-transform:uppercase}
.bc-ui-hero h2{font-size:23px;font-weight:650;color:var(--bc-primary,#172e47);margin:0 0 5px}
.bc-ui-hero p{margin:0;color:var(--bc-muted,#7b838d);font-size:14px}
.bc-ui-tabs{display:flex;gap:4px;padding:5px;overflow-x:auto}
.bc-ui-tabs a,.bc-ui-tabs button{display:flex;align-items:center;justify-content:center;flex:1;min-width:100px;min-height:41px;border:0;border-radius:8px;background:transparent;color:#626b7a;font:650 13px var(--bc-font-body,Arial,sans-serif);white-space:nowrap;cursor:pointer;text-decoration:none}
.bc-ui-tabs a:hover,.bc-ui-tabs button:hover{background:var(--bc-soft,#f1f3f5)}
.bc-ui-tabs a.is-active,.bc-ui-tabs button.is-active{background:var(--bc-accent,#317cfa);color:#fff}
.bc-ui-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bc-ui-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.bc-ui-field{display:block;color:#495368;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.bc-ui-field input,.bc-ui-field select,.bc-ui-field textarea{display:block;width:100%;min-height:44px;margin-top:6px;padding:10px 12px;border:1px solid #d6dce6;border-radius:9px;background:#f9fafc;color:#242a32;font:400 14px var(--bc-font-body,Arial,sans-serif);letter-spacing:normal;text-transform:none;outline:0}
.bc-ui-field textarea{min-height:92px;resize:vertical}
.bc-ui-field input:focus,.bc-ui-field select:focus,.bc-ui-field textarea:focus{border-color:var(--bc-accent,#317cfa);box-shadow:0 0 0 3px color-mix(in srgb,var(--bc-accent) 13%,transparent)}
.bc-ui-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 15px;border:1px solid #dce1e9;border-radius:9px;background:#fff;color:var(--bc-primary,#172e47);font:650 13px var(--bc-font-body,Arial,sans-serif);text-decoration:none;cursor:pointer}
.bc-ui-button:hover{border-color:var(--bc-accent,#317cfa)}
.bc-ui-button--primary{background:var(--bc-accent,#317cfa);border-color:var(--bc-accent,#317cfa);color:#fff}
.bc-ui-button--primary:hover{filter:brightness(.94);color:#fff}
.bc-ui-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:18px}
.bc-ui-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 4px;border-bottom:1px solid var(--bc-border,#e8eaee);font-size:14px;text-decoration:none}
.bc-ui-row:last-child{border-bottom:0}
a.bc-ui-row:hover{background:#f9fafc}
.bc-ui-muted{color:var(--bc-muted,#7b838d);font-size:12px}
.bc-ui-empty{padding:28px 8px;color:var(--bc-muted,#7b838d);font-size:14px;text-align:center}
.bc-ui-alert{padding:12px 16px;border:1px solid #eacdc8;border-radius:9px;background:#fff5f3;color:#8d3329;font-size:14px}
/* Existing Business Tools markup consumes the same surface and control tokens. */
body.bc-portal .bc-content .kbt-hero,body.bc-portal .bc-content .kbt-tabs,body.bc-portal .bc-content .kbt-toolbar,body.bc-portal .bc-content .kbt-card{border:1px solid var(--bc-border);border-radius:var(--bc-radius);box-shadow:none;background:var(--bc-surface)}
body.bc-portal .bc-content .kbt-app input,body.bc-portal .bc-content .kbt-app select,body.bc-portal .bc-content .kbt-app textarea{min-height:44px;border-radius:9px}
@media(max-width:760px){.bc-ui-hero{gap:14px;padding:18px}.bc-ui-hero-logo{flex-basis:68px}.bc-ui-hero-logo img{max-width:65px}.bc-ui-hero h2{font-size:19px}.bc-ui-grid,.bc-ui-grid--three{grid-template-columns:1fr}.bc-ui-tabs a{min-width:96px}}
@media(max-width:520px){.bc-ui-hero{align-items:flex-start;flex-wrap:wrap}.bc-ui-hero-copy{flex-basis:calc(100% - 84px)}.bc-ui-hero>.bc-ui-button{width:100%}.bc-ui-panel{padding:17px}}
body.bc-portal .bc-ui-tabs a.is-active,body.bc-portal .bc-ui-tabs button.is-active{color:#fff}
body.bc-portal a.bc-ui-button--primary{color:#fff}

/* Core 1.3.7 portal design contract. Business modules consume these semantic tokens. */
body.bc-portal {
  --bc-ui-font:var(--bc-font-body,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  --bc-ui-font-heading:var(--bc-font-heading,var(--bc-ui-font));
  --bc-ui-text:#242a32;
  --bc-ui-heading:var(--bc-secondary,#242a32);
  --bc-ui-muted:#69717d;
  --bc-ui-label:#45516a;
  --bc-ui-line:#e4e8ee;
  --bc-ui-control-line:#d6dce6;
  --bc-ui-control-bg:#f9fafc;
  --bc-ui-surface:#fff;
  --bc-ui-accent:var(--bc-accent,#347dfa);
  --bc-ui-radius:10px;
  --bc-ui-title-size:23px;
  --bc-ui-section-size:17px;
  --bc-ui-body-size:14px;
  --bc-ui-label-size:11px;
  --bc-ui-control-size:16px;
  --bc-ui-button-size:13px;
  --bc-ui-kicker-size:10px;
  --bc-ui-space-1:4px;
  --bc-ui-space-2:8px;
  --bc-ui-space-3:12px;
  --bc-ui-space-4:16px;
  --bc-ui-space-5:22px;
  font-family:var(--bc-ui-font);
  color:var(--bc-ui-text);
}
body.bc-portal .bc-ui-panel,body.bc-portal .bc-ui-hero,body.bc-portal .bc-ui-tabs,
body.bc-portal .bc-content .kbt-hero,body.bc-portal .bc-content .kbt-tabs,
body.bc-portal .bc-content .kbt-toolbar,body.bc-portal .bc-content .kbt-card {
  background:var(--bc-ui-surface);border:1px solid var(--bc-ui-line);
  border-radius:var(--bc-ui-radius);box-shadow:none;
}
body.bc-portal .bc-ui-hero h2,body.bc-portal .bc-content .kbt-hero h2 {
  color:var(--bc-ui-heading);font-family:var(--bc-ui-font-heading);
  font-size:var(--bc-ui-title-size);font-weight:650;line-height:1.2;letter-spacing:-.02em;
}
body.bc-portal .bc-ui-panel h2,body.bc-portal .bc-content .kbt-card>h3,
body.bc-portal .bc-content .kbt-card-head h3,body.bc-portal .bc-content .kbt-section-intro h3,
body.bc-portal .bc-content .kbt-employee-list-head h3 {
  color:var(--bc-ui-heading);font-family:var(--bc-ui-font-heading);
  font-size:var(--bc-ui-section-size);font-weight:650;line-height:1.3;
}
body.bc-portal .bc-ui-kicker,body.bc-portal .bc-content .kbt-hero span,
body.bc-portal .bc-content .kbt-section-intro>div>span,
body.bc-portal .bc-content .kbt-employee-list-head>div>span {
  color:var(--bc-ui-accent);font-family:var(--bc-ui-font);
  font-size:var(--bc-ui-kicker-size);font-weight:750;letter-spacing:.15em;text-transform:uppercase;
}
body.bc-portal .bc-ui-hero p,body.bc-portal .bc-content .kbt-hero p,
body.bc-portal .bc-content .kbt-section-intro>p {
  color:var(--bc-ui-muted);font-family:var(--bc-ui-font);
  font-size:var(--bc-ui-body-size);font-weight:400;line-height:1.5;
}
body.bc-portal .bc-ui-panel p,body.bc-portal .bc-content .kbt-card>p,
body.bc-portal .bc-content .kbt-toolbar a {font-family:var(--bc-ui-font);font-size:var(--bc-ui-body-size)}
body.bc-portal .bc-ui-muted,body.bc-portal .bc-content .kbt-help,
body.bc-portal .bc-content .kbt-card-head span {color:var(--bc-ui-muted);font-size:12px}
body.bc-portal .bc-ui-stack{gap:var(--bc-ui-space-4)}
body.bc-portal .bc-ui-panel,body.bc-portal .bc-content .kbt-card{padding:var(--bc-ui-space-5)}
body.bc-portal .bc-ui-grid,body.bc-portal .bc-content .kbt-fields{gap:var(--bc-ui-space-3)}
body.bc-portal .bc-ui-field,body.bc-portal .bc-content .kbt-fields label,
body.bc-portal .bc-content .kbt-toolbar label {
  color:var(--bc-ui-label);font-family:var(--bc-ui-font);
  font-size:var(--bc-ui-label-size);font-weight:700;letter-spacing:.09em;text-transform:uppercase;
}
body.bc-portal .bc-ui-field :is(input,select,textarea),
body.bc-portal .bc-content .kbt-fields label :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]),select,textarea),
body.bc-portal .bc-content .kbt-toolbar label :is(input,select) {
  min-height:44px;padding:10px 12px;border:1px solid var(--bc-ui-control-line);
  border-radius:9px;background:var(--bc-ui-control-bg);color:var(--bc-ui-text);
  font:400 var(--bc-ui-control-size)/1.35 var(--bc-ui-font);letter-spacing:normal;text-transform:none;
}
body.bc-portal .bc-ui-field :is(input,select,textarea):focus,
body.bc-portal .bc-content .kbt-fields label :is(input,select,textarea):focus {
  border-color:var(--bc-ui-accent);outline:2px solid color-mix(in srgb,var(--bc-ui-accent) 20%,transparent);outline-offset:1px;
}
body.bc-portal .bc-ui-button,body.bc-portal .bc-content :is(.kbt-hero>a,.kbt-button,.kbt-actions button,.kbt-card>button) {
  min-height:40px;padding:9px 15px;border-radius:9px;font:650 var(--bc-ui-button-size)/1.2 var(--bc-ui-font);
}
body.bc-portal .bc-ui-button--primary,body.bc-portal .bc-content :is(.kbt-primary,button.kbt-primary) {
  border-color:var(--bc-ui-accent)!important;background:var(--bc-ui-accent)!important;color:#fff!important;
}
body.bc-portal .bc-ui-tabs :is(a,button),body.bc-portal .bc-content .kbt-tabs button {
  min-height:41px;border-radius:8px;font:650 var(--bc-ui-button-size)/1.2 var(--bc-ui-font);
}
body.bc-portal .bc-ui-tabs :is(a,button).is-active,
body.bc-portal .bc-content .kbt-tabs button.is-active {background:var(--bc-ui-accent)!important;color:#fff!important}
@media(max-width:760px){body.bc-portal{--bc-ui-title-size:19px}}

/* Shared workspace header, including the Business Tools embedded view. */
body.bc-portal .kbt-app{margin-top:0}
body.bc-portal .kbt-app .kbt-hero.bc-ui-hero{min-height:124px;padding:20px 24px;gap:22px;border-radius:var(--bc-ui-radius,10px)}
body.bc-portal .kbt-app .kbt-hero.bc-ui-hero>.bc-ui-hero-copy{display:block;flex:1}
body.bc-portal .kbt-app .kbt-hero.bc-ui-hero .bc-ui-button{min-height:42px;background:var(--bc-accent,#317cfa);color:#fff;border-color:var(--bc-accent,#317cfa);font-size:13px;font-weight:650}
body.bc-portal .bc-ui-hero>.bc-ui-button--primary{white-space:nowrap}
@media(max-width:520px){body.bc-portal .kbt-app .kbt-hero.bc-ui-hero{align-items:flex-start;flex-direction:column}body.bc-portal .kbt-app .kbt-hero.bc-ui-hero>.bc-ui-button,body.bc-portal .bc-ui-hero>.bc-ui-button--primary{width:100%}}

/* Core owns these controls in the standalone portal, including theme hover states. */
body.bc-portal :is(button,a,input[type=submit]).bc-ui-button {
  appearance:none;display:inline-flex;align-items:center;justify-content:center;
  background:var(--bc-ui-surface,#fff)!important;color:var(--bc-ui-text,#242a32)!important;
  border:1px solid var(--bc-ui-control-line,#d6dce6)!important;box-shadow:none;
  text-decoration:none!important;text-transform:none;letter-spacing:normal;
}
body.bc-portal :is(button,a,input[type=submit]).bc-ui-button:hover,
body.bc-portal :is(button,a,input[type=submit]).bc-ui-button:focus {
  background:var(--bc-ui-control-bg,#f9fafc)!important;color:var(--bc-ui-text,#242a32)!important;
  border-color:var(--bc-ui-accent,#317cfa)!important;
}
body.bc-portal :is(button,a,input[type=submit]).bc-ui-button--primary,
body.bc-portal :is(button,a,input[type=submit]).bc-ui-button--primary:hover,
body.bc-portal :is(button,a,input[type=submit]).bc-ui-button--primary:focus {
  background:var(--bc-ui-accent,#317cfa)!important;border-color:var(--bc-ui-accent,#317cfa)!important;color:#fff!important;
}
body.bc-portal .bc-ui-button:focus-visible {outline:2px solid var(--bc-ui-accent,#317cfa);outline-offset:3px}
body.bc-portal .bc-ui-field input[type=checkbox] {
  appearance:auto!important;width:18px!important;height:18px!important;min-height:18px!important;
  flex:0 0 18px;padding:0!important;margin:0;accent-color:var(--bc-ui-accent,#317cfa);
}
body.bc-portal .bc-ui-field:has(>input[type=checkbox]) {display:flex;align-items:center;gap:10px;justify-content:flex-start}

/* Core settings and once-per-login company introduction. */
body.bc-portal .bc-settings-links{margin-top:18px}
body.bc-portal .bc-portal-loader[hidden]{display:none!important}
body.bc-portal .bc-portal-loader{position:fixed;inset:0;z-index:2147483000;background:#fff;color:#202733;display:flex;align-items:center;justify-content:center;padding:24px;animation:bc-intro-safety 0s 6s forwards}
body.bc-portal .bc-loader-content{width:min(360px,100%);text-align:center;animation:bc-intro-rise .6s ease-out both}
body.bc-portal .bc-loader-logo{min-height:140px;display:flex;align-items:center;justify-content:center;animation:bc-logo-pulse 1.3s ease-in-out infinite}
body.bc-portal .bc-loader-logo img{width:auto;height:auto;max-width:230px;max-height:150px;object-fit:contain}
body.bc-portal .bc-loader-logo strong{font-family:var(--bc-ui-font-heading);font-size:30px}
body.bc-portal .bc-loader-tagline{color:#626a78;margin:30px 0 22px;line-height:1.7;overflow-wrap:anywhere}
body.bc-portal .bc-loader-track{height:7px;border-radius:99px;overflow:hidden;background:#edf0f4;box-shadow:inset 0 1px 2px #00000008}
body.bc-portal .bc-loader-fill{width:1%;height:100%;background:var(--bc-accent,#346eeb);border-radius:inherit}
body.bc-portal .bc-loader-percent{display:block;margin-top:12px;font-size:11px;font-weight:650;font-variant-numeric:tabular-nums;color:#747d8b}
body.bc-portal .bc-portal-loader.is-complete{opacity:0;transform:scale(1.015);transition:opacity .3s ease,transform .3s ease;pointer-events:none}
html.bc-intro-active{overflow:hidden}
@keyframes bc-logo-pulse{0%,100%{transform:scale(1);opacity:.82}50%{transform:scale(1.055);opacity:1}}
@keyframes bc-intro-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes bc-intro-safety{to{visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){body.bc-portal .bc-portal-loader{display:none!important}body.bc-portal .bc-loader-content,body.bc-portal .bc-loader-logo{animation:none}}

/* 1.4.9: module snapshots and portal settings. */
body.bc-portal .bc-account-link{font-size:13px;font-weight:650;border-radius:8px;padding:10px 12px;min-height:42px;display:inline-flex;align-items:center}
body.bc-portal .bc-account-link:hover,body.bc-portal .bc-account-link:focus-visible{background:var(--bc-light);color:var(--bc-accent)}
.bc-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.bc-dashboard-card{min-width:0}
.bc-dashboard-card>header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}
.bc-dashboard-card>header h3{margin:5px 0 0;font-size:22px}
body.bc-portal .bc-snapshot-link{color:var(--bc-accent);font-size:13px;font-weight:650}
.bc-snapshot-list{list-style:none;padding:0;margin:0;display:grid}
.bc-snapshot-list>li{padding:12px 0;border-bottom:1px solid var(--bc-border,#e8eaee)}
.bc-snapshot-list>li:last-child{border-bottom:0}
.bc-snapshot-list a{display:block;border-radius:6px}
.bc-snapshot-list a:hover strong{text-decoration:underline}
.bc-snapshot-list strong{display:block;font-size:14px;font-weight:650;overflow-wrap:anywhere}
.bc-snapshot-list span{display:block;color:#737b85;font-size:12px;margin-top:4px}
.bc-dashboard-card h4{font-size:14px;margin:24px 0 8px}
.bc-snapshot-metric{font-size:13px;color:#737b85;margin:0 0 10px}
.bc-snapshot-metric strong{font-size:32px;color:var(--bc-secondary);margin-right:8px;font-weight:650}
.bc-snapshot-metric span{display:block;margin-top:4px}
.bc-snapshot-chart{display:block;width:100%;height:auto;color:#737b85}
.bc-snapshot-table{width:100%;overflow-x:auto}
.bc-snapshot-table table,.bc-settings-editor table{width:100%;border-collapse:collapse;font-size:13px}
.bc-snapshot-table th,.bc-snapshot-table td,.bc-settings-editor .widefat th,.bc-settings-editor .widefat td{padding:13px 10px;text-align:left;border-bottom:1px solid var(--bc-border,#e8eaee);vertical-align:middle}
.bc-snapshot-table th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#737b85;font-weight:600}
body.bc-portal .bc-snapshot-table td a:hover{text-decoration:underline;color:var(--bc-accent)}
.bc-settings-editor h2{font-size:20px;margin-top:26px}
.bc-settings-editor h2:first-child{margin-top:0}
.bc-settings-editor .form-table th{width:30%;text-align:left;font-size:13px;padding:16px 20px 16px 0;vertical-align:top;font-weight:600}
.bc-settings-editor .form-table td{padding:12px 0}
.bc-settings-editor .description{font-size:12px;color:#737b85}
body.bc-portal .bc-settings-editor input:not([type=checkbox]):not([type=hidden]):not([type=submit]),body.bc-portal .bc-settings-editor textarea,body.bc-portal .bc-settings-editor select{max-width:100%;border:1px solid var(--bc-border,#e8eaee);border-radius:8px;padding:10px 12px;background:#fff;color:var(--bc-secondary);font:inherit;font-size:14px}
.bc-settings-editor .regular-text,.bc-settings-editor .large-text{width:100%}
body.bc-portal .bc-settings-editor input[type=color]{width:90px;min-height:42px;padding:4px!important}
.bc-settings-editor .button,.bc-settings-editor input[type=submit],.bc-settings-editor .page-title-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--bc-border,#e8eaee);border-radius:8px;padding:10px 16px;min-height:42px;background:#fff;color:var(--bc-secondary);font:600 13px var(--bc-font-body,Arial,sans-serif);cursor:pointer}
.bc-settings-editor .button-primary{background:var(--bc-accent);color:#fff;border-color:var(--bc-accent)}
.bc-settings-editor form p.submit{margin-top:24px}
.bc-settings-editor .notice{padding:12px;border-left:3px solid var(--bc-accent);background:var(--bc-light)}
.bc-user-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--bc-border,#e8eaee)}
.bc-user-row span{font-size:13px;color:#737b85;overflow-wrap:anywhere}
.bc-user-row form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bc-user-row select{padding:10px;border:1px solid var(--bc-border);border-radius:8px;background:#fff}
.bc-email-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}
.bc-email-save{margin-top:20px}
.bc-email-preview{width:100%;height:560px;border:0;background:#fff}
body.bc-portal [data-be-preview-panel][hidden]{display:none}
body.bc-portal .bc-settings-editor .wp-editor-wrap{margin-top:16px}
@media(max-width:900px){.bc-dashboard-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.bc-dashboard-card>header,.bc-user-row{align-items:flex-start;flex-direction:column}.bc-settings-editor .form-table tr,.bc-settings-editor .form-table th,.bc-settings-editor .form-table td{display:block;width:100%}.bc-settings-editor .form-table th{padding-bottom:0}.bc-email-options{grid-template-columns:1fr}.bc-settings-editor .widefat{display:block;overflow-x:auto}.bc-email-preview{height:420px}}

/* 1.4.11: independent dashboard columns and linked snapshot rows. */
.bc-dashboard-column{display:flex;flex-direction:column;gap:20px;min-width:0}
.bc-project-snapshot-head,.bc-project-snapshot-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr) minmax(0,1fr);gap:12px;align-items:center}
.bc-project-snapshot-head{padding:10px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#737b85}
body.bc-portal .bc-project-snapshot-row{padding:12px 10px;border-top:1px solid var(--bc-border,#e8eaee);font-size:12px;border-radius:6px;overflow-wrap:anywhere;transition:background .15s ease}
body.bc-portal .bc-project-snapshot-row:hover,body.bc-portal .bc-project-snapshot-row:focus-visible,body.bc-portal .bc-clickable-list a:hover,body.bc-portal .bc-clickable-list a:focus-visible{background:var(--bc-light,#f6f7f9);outline:2px solid var(--bc-accent);outline-offset:-2px}
.bc-project-snapshot-name{display:flex;align-items:center;gap:10px;min-width:0}
.bc-project-snapshot-name img,.bc-project-image-empty{width:48px;height:48px;flex:0 0 48px;border-radius:7px;object-fit:cover;background:var(--bc-light,#f6f7f9)}
.bc-project-image-empty{display:grid;place-items:center;color:#929ba5;font-size:24px}
.bc-project-snapshot-name strong{font-size:13px;font-weight:650}
.bc-project-snapshot-name small{display:block;margin-top:3px;color:#737b85;font-size:11px}
.bc-project-snapshot-brand small,.bc-project-snapshot-client small{display:none}
.bc-clickable-list>li{padding:0}
.bc-clickable-list a{padding:12px 10px}
.bc-chart-values{margin-top:10px;font-size:12px}
.bc-chart-values summary{cursor:pointer;color:var(--bc-accent);font-weight:650;padding:8px 0}
@media(max-width:620px){.bc-project-snapshot-head{display:none}.bc-project-snapshot-row{grid-template-columns:48px minmax(0,1fr);gap:8px 10px}.bc-project-snapshot-name{grid-column:1/-1}.bc-project-snapshot-brand,.bc-project-snapshot-client{grid-column:2}.bc-project-snapshot-brand small,.bc-project-snapshot-client small{display:inline;margin-right:8px;color:#737b85}}

/* 1.4.12: explicit mobile menu backdrop lifecycle. */
body.bc-portal .bc-scrim[hidden]{display:none!important;pointer-events:none!important}
@media(max-width:800px){
  body.bc-portal .bc-main{background:#fff}
  body.bc-portal .bc-scrim:not([hidden]){display:block!important;position:fixed;inset:0;z-index:90;border:0;border-radius:0;padding:0;margin:0;width:100%;height:100%;background:rgba(23,28,36,.3);cursor:pointer;appearance:none}
  body.bc-portal .bc-account-link{margin-left:auto}
}

/* 1.4.13: company logo beside the mobile menu. */
body.bc-portal .bc-top .bc-mobile-logo{display:none}
@media(max-width:800px){
  body.bc-portal .bc-top .bc-desktop-company{display:none}
  body.bc-portal .bc-top .bc-mobile-logo{display:flex;align-items:center;max-width:120px;min-width:0;flex:0 1 120px}
  body.bc-portal .bc-mobile-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:30px;object-fit:contain}
  body.bc-portal .bc-mobile-logo strong{font-size:13px}
  body.bc-portal .bc-top .bc-account-link{min-width:0;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
