/* Package 1: shared navigation, daily banking overview and learning workspace. */
.corporate-ui { --ui-ink:#142e46; --ui-muted:#61778b; --ui-accent:#176879; --ui-line:#dfe7ee; --ui-surface:#fff; --ui-radius:12px; }
.corporate-ui .content { box-sizing:border-box; min-width:0; flex:1; padding:28px clamp(18px,2.5vw,40px) 40px; }
.corporate-ui .page-container { max-width:1440px; margin-inline:auto; min-width:0; }
.corporate-ui .page-container:focus { outline:none; }
.corporate-ui .btn-primary,.corporate-ui .btn-secondary,.corporate-ui .btn-ghost { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; box-sizing:border-box; padding:10px 16px; border-radius:8px; font-size:13px; line-height:1.4; text-align:center; text-decoration:none; }
.corporate-ui .btn-primary { background:var(--ui-accent); color:#fff; border-color:var(--ui-accent); }
.corporate-ui .btn-primary:hover { background:#114d5b; border-color:#114d5b; color:#fff; }
.corporate-ui :is(button,a,input,select,textarea):focus-visible { outline:3px solid #278f9d; outline-offset:3px; }
.skip-link { position:fixed; left:16px; top:-90px; z-index:3000; padding:12px 18px; border-radius:7px; background:#fff; color:#142e46; }
.skip-link:focus { top:12px; }
.ui-eyebrow { color:var(--ui-accent); font-size:10px; font-weight:750; letter-spacing:1.5px; }
.ui-page-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:20px; }
.ui-page-heading h1 { margin:6px 0 7px; color:var(--ui-ink); font-size:26px; letter-spacing:-.7px; line-height:1.25; }
.ui-page-heading p { margin:0; color:var(--ui-muted); font-size:13px; line-height:1.7; }
.ui-page-heading h2 { margin:0 0 7px; font-size:21px; letter-spacing:-.4px; }.ui-page-heading>[role="status"] { color:var(--ui-muted); font-size:12px; }
.mobile-menu-toggle,.mobile-bottom-nav { display:none; }
.mobile-navigation:not([open]) { display:none; }
.mobile-navigation { width:min(360px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); box-sizing:border-box; padding:0; border:1px solid #244357; border-radius:14px; background:#0b192c; color:#fff; }
.mobile-navigation::backdrop { background:#061a2bcc; backdrop-filter:blur(3px); }
.mobile-navigation-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:22px 20px 14px; }
.mobile-navigation-heading .ui-eyebrow { color:#8bd6d4; font-size:9px; }
.mobile-navigation-heading h2 { margin:5px 0 0; color:#fff; font-size:23px; }
.mobile-navigation-heading button { display:grid; place-items:center; width:44px; height:44px; border:1px solid #385063; border-radius:8px; background:#173044; color:#fff; cursor:pointer; }
.mobile-navigation-user { display:grid; gap:4px; padding:0 20px 18px; border-bottom:1px solid #263c50; overflow-wrap:anywhere; }
.mobile-navigation-user strong { font-size:13px; }.mobile-navigation-user span { color:#9fb4c6; font-size:11px; }
.corporate-ui .home-overview { padding:28px; border-radius:var(--ui-radius); background:linear-gradient(120deg,#102f4d,#0c343e); box-shadow:none; }
.corporate-ui .home-welcome h1 { font-size:clamp(22px,2.1vw,29px); line-height:1.3; letter-spacing:-.6px; overflow-wrap:anywhere; }
.corporate-ui .main-balance { display:block; margin-top:6px; font-size:clamp(25px,2.6vw,34px); overflow-wrap:anywhere; }
.corporate-ui .home-welcome>div+div { margin-top:26px; }
.corporate-ui .home-shell .quick-band { grid-template-columns:repeat(6,minmax(0,1fr)); border-radius:var(--ui-radius); }
.corporate-ui .quick-title { grid-column:1/-1; flex-direction:row; justify-content:space-between; align-items:center; border:0; border-bottom:1px solid var(--ui-line); padding:15px 18px; }
.corporate-ui .quick-action { min-width:0; flex-direction:column; justify-content:center; gap:10px; padding:18px 8px; min-height:94px; font-size:12px; text-align:center; border-bottom:0; }
.corporate-ui .quick-icon { width:38px; height:38px; border-radius:10px; background:#e9f4f3; color:var(--ui-accent); }
.corporate-ui .home-shell .home-panel,.corporate-ui .market-panel,.corporate-ui .accounts-list { border-radius:var(--ui-radius); }
.corporate-ui .panel-head { background:#fff; min-height:62px; }
.corporate-ui .home-shell .account-row { grid-template-columns:38px minmax(0,1fr) minmax(100px,auto) 16px; }
.corporate-ui .home-shell .account-amount { overflow-wrap:anywhere; }
.ui-active-lesson { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 24px; border:1px solid #c9e2e2; border-radius:var(--ui-radius); background:#eff7f6; }
.ui-active-lesson h2 { margin:6px 0; font-size:18px; color:var(--ui-ink); overflow-wrap:anywhere; }
.ui-active-lesson p { margin:0; color:var(--ui-muted); font-size:12px; }.ui-active-lesson .btn-primary { flex-shrink:0; }
.corporate-ui .accounts-overview { grid-template-columns:1.3fr repeat(3,minmax(0,1fr)); border-radius:var(--ui-radius); }
.corporate-ui .overview-intro { padding:24px; background:linear-gradient(120deg,#102f4d,#0c343e); }
.corporate-ui .overview-stat strong { overflow-wrap:anywhere; }
.corporate-ui .accounts-toolbar { padding:16px; border-radius:var(--ui-radius); }
.corporate-ui .accounts-page .accounts-list-head,.corporate-ui .accounts-page .account-row { grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,.8fr) 44px; }
.corporate-ui .accounts-page .account-row { padding:20px; }
.corporate-ui .accounts-page .account-copy strong { white-space:normal; overflow-wrap:anywhere; }
.corporate-ui .account-identifiers span { white-space:normal; overflow-wrap:anywhere; line-height:1.6; }
.corporate-ui .account-share { display:inline-flex; align-items:center; gap:7px; min-height:44px; font-size:12px; }
.corporate-ui .account-detail-link { width:44px; height:44px; border-radius:8px; }
.corporate-ui .account-balance-block strong { overflow-wrap:anywhere; }
.corporate-ui .account-balance-block .currency-badge { display:inline-block; width:auto; }
.corporate-ui .scenario-hero,.corporate-ui .session-head { padding:26px; border-radius:var(--ui-radius); background:linear-gradient(120deg,#102f4d,#0c343e); }
.corporate-ui .scenario-hero h1,.corporate-ui .session-head h1 { font-size:clamp(22px,2.1vw,28px); line-height:1.3; letter-spacing:-.5px; overflow-wrap:anywhere; }
.corporate-ui .scenario-hero p { color:#bcd0dc; line-height:1.7; font-size:13px; }
.corporate-ui .sim-badge { align-self:flex-start; flex-shrink:0; padding:7px 10px; border-radius:5px; font-size:10px; letter-spacing:.5px; background:#d7f3ed; color:#155b53; }
.corporate-ui .progress-kpi { border:1px solid var(--ui-line); border-radius:10px; padding:17px; }
.corporate-ui .progress-kpi strong { font-size:23px; }
.corporate-ui .scenario-filters { gap:8px; padding:5px 0; }
.corporate-ui .scenario-filters button { min-height:44px; padding:10px 18px; border-radius:8px; font:inherit; font-size:12px; }
.corporate-ui .scenario-filters button.active { background:var(--ui-accent); border-color:var(--ui-accent); }
.corporate-ui .scenario-card { padding:22px; border-radius:var(--ui-radius); gap:16px; grid-template-rows:auto 1fr auto auto; }
.corporate-ui .scenario-card[hidden],.corporate-ui .account-row[hidden] { display:none; }
.corporate-ui .scenario-card h2 { font-size:17px; line-height:1.5; overflow-wrap:anywhere; }.corporate-ui .scenario-card p { line-height:1.7; font-size:13px; }
.corporate-ui .scenario-card .btn-primary { width:100%; }
.corporate-ui .detail-panel,.corporate-ui .session-panel,.corporate-ui .task-card,.corporate-ui .scenario-account,.corporate-ui .session-kpi { border-radius:var(--ui-radius); }
.corporate-ui .session-head { align-items:flex-start; }.corporate-ui .session-head h1 { margin:0 0 10px; }
.corporate-ui .session-head>div:first-child { min-width:0; }.corporate-ui .session-actions { max-width:390px; }
.session-workspace>p { font-size:13px; line-height:1.8; }.session-workspace #scenario-tasks { scroll-margin-top:90px; }
.corporate-ui .session-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.corporate-ui .session-kpi strong { font-size:18px; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.corporate-ui .task-card { padding:20px; gap:18px; }.corporate-ui .task-card h3,.corporate-ui .task-meta { overflow-wrap:anywhere; }
.corporate-ui .task-card h3 { line-height:1.5; }.corporate-ui .task-meta { line-height:1.8; font-size:13px; }
.corporate-ui .session-panel .row-item>* { min-width:0; overflow-wrap:anywhere; }.corporate-ui .session-panel .row-item { align-items:start; }
.ui-task-link { display:inline-flex; align-items:center; gap:7px; color:#176879; font-size:13px; font-weight:650; margin-bottom:18px; }
.mobile-market-time { display:none; }
.ui-list-status { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; color:var(--ui-muted); font-size:12px; line-height:1.6; }
.learning-page { color:var(--ui-ink); }
.learning-page .scenario-hero { display:flex; justify-content:space-between; gap:20px; margin-bottom:20px; color:#fff; }
.learning-page .scenario-hero .ui-eyebrow { color:#8bd6d4; }.learning-page .scenario-hero h1 { margin:9px 0; }.learning-page .scenario-hero p { margin:0; }
.learning-page .progress-kpis { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:28px; }
.learning-page .progress-kpi { background:#fff; }.learning-page .progress-kpi span { display:block; color:var(--ui-muted); font-size:12px; }.learning-page .progress-kpi strong { display:block; margin-top:7px; }
.learning-page .scenario-filters { display:flex; flex-wrap:wrap; margin-bottom:18px; }.learning-page .scenario-filters button { cursor:pointer; background:#fff; border:1px solid var(--ui-line); color:var(--ui-ink); }.learning-page .scenario-filters button.active { color:#fff; }
.learning-page .scenario-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.learning-page .scenario-card { display:grid; background:#fff; border:1px solid var(--ui-line); }.learning-page .scenario-card h2 { margin:0; }
.learning-page .scenario-meta { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.learning-page .meta-pill,.learning-page .scenario-status { padding:5px 8px; border-radius:5px; background:#edf5f5; color:#176879; font-size:11px; font-weight:650; }.learning-page .scenario-status.active { color:#875d12; background:#fff4d8; }
.learning-page .scenario-status.completed { color:#156b50; background:#e7f5ee; }.learning-page .scenario-step-count { color:var(--ui-muted); font-size:12px; }
.learning-page .scenario-detail { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:20px; }.learning-page .detail-panel { padding:24px; background:#fff; border:1px solid var(--ui-line); }
.learning-page .detail-panel p,.learning-page .learning-box { white-space:pre-line; line-height:1.8; color:#546b7d; font-size:14px; }.learning-page .detail-panel h2 { font-size:19px; }.learning-page .detail-panel h3 { font-size:16px; }
.learning-page .timeline-item { border-left:3px solid #72c6bd; padding-left:16px; }.scenario-start-action { margin-top:24px; }
.ui-empty-state { grid-column:1/-1; text-align:center; padding:32px; }.ui-empty-state>i { font-size:26px; color:var(--ui-accent); }.ui-empty-state p { color:var(--ui-muted); line-height:1.8; }
.ui-session-progress { padding:18px 20px; border:1px solid #d0e2e4; border-radius:var(--ui-radius); margin:18px 0; background:#f2f8f8; }
.ui-session-progress>div { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:13px; }.ui-session-progress span { color:var(--ui-muted); }
.ui-session-progress progress { display:block; width:100%; height:8px; border:0; border-radius:6px; overflow:hidden; margin:13px 0; background:#dbe9e9; accent-color:#176879; }.ui-session-progress progress::-webkit-progress-bar { background:#dbe9e9; }.ui-session-progress progress::-webkit-progress-value { background:#176879; }.ui-session-progress progress::-moz-progress-bar { background:#176879; }.ui-session-progress .ui-task-link { margin:0; }
@media(max-width:1100px) { .corporate-ui .accounts-overview { grid-template-columns:repeat(3,minmax(0,1fr)); }.corporate-ui .overview-intro { grid-column:1/-1; } }
@media(max-width:900px) {
    .corporate-ui .topbar { height:64px; box-sizing:border-box; padding-inline:12px; z-index:100; }
    .corporate-ui .topbar-left { gap:8px; min-width:0; }.corporate-ui .topbar-right { gap:2px; }
    .corporate-ui .topbar-icon-button,.corporate-ui .topbar-logout-link { min-width:44px; min-height:44px; width:44px; height:44px; }
    .corporate-ui .topbar .user-badge { display:none; }
    .corporate-ui .topbar-logout-link span { display:none; }
    .mobile-menu-toggle { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #dfe7ee; border-radius:8px; background:#fff; color:#173c51; flex-shrink:0; }
    .corporate-ui .layout { display:block; }.corporate-ui .layout>.sidebar { display:none; }
    .corporate-ui .mobile-navigation .sidebar { position:static; display:flex; flex-direction:column; width:100%; min-width:0; height:auto; min-height:0; padding:16px 12px; overflow:visible; box-sizing:border-box; }
    .corporate-ui .mobile-navigation .sidebar-menu { display:block; }
    .corporate-ui .mobile-navigation .menu-link,.corporate-ui .mobile-navigation .sidebar-toggle,.corporate-ui .mobile-navigation .sidebar-sub a { min-height:46px; box-sizing:border-box; font-size:13px; }
    .corporate-ui .mobile-navigation .sidebar-sub { position:static; width:auto; margin:4px 0 8px 30px; padding-left:10px; }
    .corporate-ui .mobile-navigation .sidebar-sub li a { display:flex; align-items:center; }
    body.mobile-navigation-open { overflow:hidden; }
    .corporate-ui .content { min-height:calc(100dvh - 64px); padding:20px 16px 30px; }
    .corporate-ui.has-mobile-nav .content { padding-bottom:calc(94px + env(safe-area-inset-bottom)); }
    .mobile-bottom-nav { position:fixed; inset:auto 0 0; z-index:90; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:6px 10px calc(6px + env(safe-area-inset-bottom)); border-top:1px solid #dfe7ee; background:#fff; box-shadow:0 -4px 20px #173c5108; }
    .mobile-bottom-nav a,.mobile-bottom-nav button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-height:52px; border:0; border-radius:9px; background:transparent; color:#637b8d; font:inherit; font-size:10px; text-decoration:none; }
    .mobile-bottom-nav i { font-size:16px; }.mobile-bottom-nav [aria-current="page"],.mobile-bottom-nav [aria-expanded="true"] { color:#176879; background:#eaf4f4; font-weight:700; }
    .corporate-ui input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.corporate-ui select,.corporate-ui textarea { box-sizing:border-box; max-width:100%; min-height:46px; font-size:16px; }
    .corporate-ui .content-header { margin-bottom:12px; }.corporate-ui .content-header-right { flex-wrap:wrap; }
    .corporate-ui .home-main { grid-template-columns:minmax(0,1fr); }
    .corporate-ui .home-shell .quick-band { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .corporate-ui .quick-action { border-bottom:1px solid var(--ui-line); min-height:85px; }
    .corporate-ui .quick-title span { display:none; }
    .corporate-ui .accounts-page .account-row { grid-template-columns:minmax(0,1fr) 44px; }
    .corporate-ui .accounts-page .account-detail-link { grid-column:2; grid-row:1/4; }
    .corporate-ui .scenario-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .learning-page .scenario-detail { grid-template-columns:minmax(0,1fr); }
    .corporate-ui .session-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .corporate-ui .session-head { display:flex; flex-direction:column; gap:18px; }
    .corporate-ui .session-actions { max-width:none; width:100%; }
    .corporate-ui .scenario-account strong { overflow-wrap:anywhere; }
}
@media(max-width:600px) {
    .corporate-ui .content { padding:16px 14px 28px; }
    .corporate-ui .topbar .logo-text { display:flex; }.corporate-ui .logo-main { font-size:13px; }.corporate-ui .logo-sub { display:none; }.corporate-ui .topbar .logo-img { width:28px; height:28px; }
    .corporate-ui .home-overview { padding:22px; gap:20px; }.corporate-ui .home-welcome h1 { font-size:23px; }
    .corporate-ui .currency-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.corporate-ui .currency-line { flex-direction:column; align-items:flex-start; gap:7px; padding:12px; }.corporate-ui .currency-line strong { font-size:13px; max-width:100%; }
    .ui-active-lesson { flex-direction:column; align-items:stretch; padding:20px; }.ui-active-lesson .btn-primary { align-self:flex-start; }
    .corporate-ui .home-shell .account-row { grid-template-columns:38px minmax(0,1fr) 16px; gap:10px; padding:16px; }.corporate-ui .home-shell .account-amount { grid-column:2; text-align:left; }.corporate-ui .home-shell .row-chevron { grid-column:3; grid-row:1/3; }
    .corporate-ui .home-shell .account-copy span { white-space:normal; overflow-wrap:anywhere; line-height:1.6; }
    .corporate-ui .market-table :is(td,th):last-child { display:none; }.corporate-ui .market-table td:first-child { overflow-wrap:anywhere; }
    .mobile-market-time { display:block; color:var(--ui-muted); font-weight:400; font-size:10px; margin-top:4px; }
    .corporate-ui .product-row { align-items:flex-start; }.corporate-ui .product-row strong { overflow-wrap:anywhere; }
    .corporate-ui .accounts-overview { grid-template-columns:minmax(0,1fr); }.corporate-ui .overview-stat { border-left:0; border-top:1px solid var(--ui-line); flex-direction:row; align-items:center; justify-content:space-between; gap:12px; }.corporate-ui .overview-stat strong { margin:0; text-align:right; }
    .corporate-ui .accounts-toolbar { padding:14px; flex-direction:column; align-items:stretch; }.corporate-ui .currency-filter { width:100%; }
    .corporate-ui .scenario-grid { grid-template-columns:minmax(0,1fr); }.corporate-ui .scenario-hero { padding:22px; }.corporate-ui .scenario-hero .sim-badge { margin-top:10px; }
    .learning-page .scenario-hero { flex-direction:column; gap:10px; }
    .corporate-ui .progress-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.corporate-ui .progress-kpi:last-child { grid-column:1/-1; }
    .corporate-ui .scenario-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }.corporate-ui .scenario-filters button { padding:10px 4px; }
    .corporate-ui .detail-panel { padding:20px; }.corporate-ui .detail-panel h1 { font-size:23px; overflow-wrap:anywhere; }
    .corporate-ui .session-head { padding:22px; }.corporate-ui .session-kpi { padding:14px; }.corporate-ui .session-kpi strong { font-size:15px; line-height:1.6; }
    .corporate-ui .session-actions>* { width:100%; }.corporate-ui .session-actions button { width:100%; }
    .corporate-ui .task-card { grid-template-columns:minmax(0,1fr); }.corporate-ui .task-card .btn-secondary { width:100%; }
    .corporate-ui .session-panel .row-item { grid-template-columns:minmax(0,1fr); gap:8px; }.corporate-ui .session-panel .row-item>div:last-child { text-align:left!important; }
    .corporate-ui .section-head { flex-wrap:wrap; }.corporate-ui .section-head h2,.corporate-ui .session-panel h2 { font-size:19px; line-height:1.4; }
    .corporate-ui .cross-progress { grid-template-columns:repeat(2,minmax(0,1fr)); }.corporate-ui .cross-task { min-width:0; overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) { .corporate-ui *, .corporate-ui *::before,.corporate-ui *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
@media print { .mobile-bottom-nav,.mobile-navigation,.mobile-menu-toggle,.skip-link { display:none!important; } }
