html, body { background: #f2f6f8; }
.startup { max-width: 540px; margin: 12vh auto; padding: 32px; font: 16px system-ui,sans-serif; color: #173a40; }
.startup strong { font-size: 32px; }
.webin-shell, .webin-content { background: #f2f6f8; }
.webin-header { background: #fff; border-bottom: 1px solid #dce5e9 !important; padding: 12px 24px; }
.webin-brand { color: #165d55; font-size: 26px; font-weight: 800; letter-spacing: -.7px; }
.webin-brand span { color: #637780; font-size: 12px; font-weight: 500; letter-spacing: .04em; margin-left: 12px; }
.webin-card { border-radius: 12px; box-shadow: 0 5px 22px rgba(20,51,66,.06); border: 1px solid #dbe5e9 !important; margin-bottom: 24px; }
.webin-card .x-panel-body { background: #fff; border-radius: 12px; }
.webin-card .x-toolbar-footer { background: white; padding: 12px 28px 24px; }
.webin-heading h1 { font-size: 29px; line-height: 1.2; color: #173b41; font-weight: 700; margin: 0 0 14px; letter-spacing: -.5px; }
.webin-heading p { margin: 0 0 24px; color: #465b65; font-size: 14px; line-height: 1.65; }
.webin-eyebrow { text-transform: uppercase; font-weight: 700; font-size: 11px; letter-spacing: .12em; color: #267466; margin-bottom: 14px; }
.webin-notice { padding: 14px 16px; background: #ebf7f1; border: 1px solid #bfddcc; color: #245343; border-radius: 7px; line-height: 1.6; margin-bottom: 18px; word-break: break-word; }
.webin-error { background: #fff1ef; border-color: #e7c1bb; color: #8b3028; }
.webin-note { color: #465b65; font-size: 12px; line-height: 1.7; margin: 12px 0; }
.webin-link { color: #176e61; text-decoration: underline; }
.webin-primary.x-btn { background: #166d60; border-color: #166d60; border-radius: 6px; }
.webin-primary.x-btn-over { background: #125b50; border-color: #125b50; }
.webin-card .x-form-item-label-text { color: #29444b; font-weight: 600; }
.webin-card .x-form-text-default { border-radius: 5px; }
.webin-section-title { font-size: 18px; color: #23484d; margin: 6px 0 16px; }
.webin-card .x-grid-item { color: #29444b; }
@media (max-width: 540px) { .webin-brand span { display: none; } .webin-header { padding: 10px 12px; } .webin-heading h1 { font-size: 25px; } }
/* Workspace inspired by Webin v1: persistent navigation and independent work tabs. */
.webin-desktop { background: #f3f2f6; }
.webin-desktop-header { background: #fff; border-bottom: 1px solid #e1dde8 !important; padding: 8px 18px; }
.webin-desktop-brand { font-size: 32px; color: #66368b; font-weight: 750; letter-spacing: -1px; line-height: 30px; }
.webin-desktop-brand span { display: block; font-size: 9px; color: #7d7488; line-height: 16px; letter-spacing: 1.6px; font-weight: 600; }
.webin-desktop-header .x-btn-default-toolbar-small { border-color: transparent; background: transparent; }
.webin-desktop-header .x-btn-inner { color: #42374e; }
.webin-context-label { color: #7a688a; font-size: 10px; font-weight: 700; letter-spacing: 1px; padding: 0 16px; }
.webin-sidebar, .webin-sidebar > .x-panel-body, .webin-sidebar .x-panel-body { background: #32243f; border: 0; }
.webin-sidebar-identity { display: flex; align-items: center; padding: 23px 17px; color: #fff; gap: 11px; }
.webin-sidebar-identity strong { display: block; font-size: 14px; font-weight: 600; margin-bottom: 5px; }
.webin-sidebar-identity div > span { display: block; color: #c6b9d4; font-size: 11px; }
.webin-avatar { background: #745294; border: 1px solid #9b7bba; height: 38px; width: 38px; border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; font-size: 18px; }
.webin-sidebar .x-form-text-default { background: #483553; color: #fff; }
.webin-sidebar input::placeholder { color: #ccbed6; }
.webin-sidebar .x-form-trigger-wrap-default { border: 1px solid #65516e; border-radius: 5px; }
.webin-navigation .x-grid-item { background: #32243f; color: #e5ddec; border: 0; }
.webin-navigation .x-grid-item-over { background: #493259; }
.webin-navigation .x-grid-item-selected { background: #6d4290; color: #fff; }
.webin-navigation .x-grid-cell-inner { padding: 11px 8px 11px 5px; font-size: 13px; }
.webin-navigation .x-tree-icon { color: #c3b2d2; }
.webin-navigation .x-tree-elbow-img { color: #b9a4cb; }
.webin-navigation .x-grid-view { background: #32243f; }
.webin-navigation .x-grid-tree-node-expanded > .x-grid-cell .x-tree-node-text { font-size: 11px; font-weight: 650; letter-spacing: .5px; color: #c4b1d3; }
.webin-sidebar .x-panel-header { background: #32243f; }
.webin-work-tabs > .x-panel-body { background: #fff; }
.webin-work-tabs > .x-tab-bar { background: #66368b; padding: 0 8px; }
.webin-work-tabs .x-tab-default-top { background: #66368b; border: 0; padding: 11px 22px 10px 13px; }
.webin-work-tabs .x-tab-default-top .x-tab-inner, .webin-work-tabs .x-tab-default-top .x-tab-icon-el { color: #e8dfef; font-size: 13px; }
.webin-work-tabs .x-tab-active.x-tab-default-top { background: #fff; }
.webin-work-tabs .x-tab-active.x-tab-default-top .x-tab-inner, .webin-work-tabs .x-tab-active.x-tab-default-top .x-tab-icon-el { color: #603580; }
.webin-work-tabs .x-tab-bar-strip { display: none; }
.webin-work-view { background: #fff; }
.webin-work-view > .x-panel-body { background: #fff; }
.webin-work-view .x-panel-body-default { border-color: #e7e1eb; }
.webin-page-heading { margin-bottom: 18px; }
.webin-page-heading > span { display: block; color: #644e72; font-size: 10px; font-weight: 700; letter-spacing: 1.4px; margin-bottom: 7px; }
.webin-page-heading h1 { color: #36273f; margin: 0 0 7px; font-size: 24px; font-weight: 650; line-height: 1.2; }
.webin-page-heading p { color: #554b5d; font-size: 13px; line-height: 1.6; margin: 0; }
.webin-work-view .x-toolbar-default { background: #faf8fc; padding: 9px 10px; border-color: #e5deeb; }
.webin-work-view .x-grid-item { font-size: 13px; color: #3d3444; }
.webin-work-view .x-grid-cell-inner { padding-top: 11px; padding-bottom: 11px; }
.webin-work-view .x-grid-item-selected { background: #eee5f5; }
.webin-work-view .x-grid-item-over { background: #f6f1fa; }
.webin-work-view .x-column-header { background: #faf8fc; color: #53455f; font-weight: 650; }
.webin-work-view .x-btn-default-toolbar-small, .webin-work-view .x-btn-default-small { border-radius: 4px; }
.webin-primary.x-btn { background: #4d7c36; border-color: #4d7c36; }
.webin-primary.x-btn-over { background: #40692c; border-color: #40692c; }
.webin-summary { display: flex; gap: 16px; margin: 8px 0 28px; }
.webin-summary > div { flex: 1; border: 1px solid #e6dfee; border-radius: 8px; background: #faf8fc; padding: 22px; }
.webin-summary span { display: block; font-size: 10px; letter-spacing: 1px; color: #644e72; margin-bottom: 13px; }
.webin-summary strong { font-size: 20px; color: #463151; font-weight: 650; }
.webin-empty-state { padding: 38px 24px; border: 1px dashed #d9cce3; border-radius: 8px; background: #fbf9fd; text-align: center; }
.webin-empty-state > span { font-size: 28px; color: #a68aba; }
.webin-empty-state h2 { color: #4f3b5d; font-size: 18px; font-weight: 600; }
.webin-empty-state p { max-width: 660px; margin: 0 auto; color: #5e4d68; line-height: 1.7; font-size: 13px; }
.webin-form-help { font-size: 12px; color: #5d4b68; line-height: 1.6; }
.webin-permission-tree { border: 1px solid #e0d8e7 !important; }
.webin-permission-tree .x-tree-node-text { font-size: 13px; color: #4b3a59; }
.webin-permission-tree .webin-permission-unavailable .x-tree-node-text { color: #998e9f; }
.webin-permission-tree .webin-tree-partial .x-tree-checkbox:before { content: '\f146'; color: #7a4d98; }
.webin-permission-readonly .x-tree-checkbox { pointer-events: none; opacity: .7; }
.webin-work-view .webin-heading h1 { font-size: 24px; color: #36273f; }
@media (max-width: 900px) { .webin-context-label { display: none; } .webin-desktop-brand { font-size: 27px; } .webin-summary { flex-wrap: wrap; } .webin-summary > div { min-width: 160px; } }
.webin-work-tabs > .x-panel-bodyWrap > .x-tab-bar { background: #66368b; }
.webin-navigation .x-grid-cell-inner { padding-top: 8px; padding-bottom: 8px; }
.webin-navigation .x-tree-elbow-plus:before, .webin-navigation .x-tree-elbow-minus:before { color: #c4b1d3; }
.webin-navigation .x-tree-node-text { padding-left: 5px; }
.webin-work-view .x-btn-default-small, .x-window .x-btn-default-small { background: #fff; border-color: #d9cde1; border-radius: 4px; }
.webin-work-view .x-btn-inner-default-small, .x-window .x-btn-inner-default-small { color: #5c426e; }
.webin-work-view .x-btn-icon-el-default-small, .x-window .x-btn-icon-el-default-small { color: #74518b; }
.webin-work-view .webin-primary.x-btn, .x-window .webin-primary.x-btn { background: #4d7c36; border-color: #4d7c36; }
.webin-primary .x-btn-inner, .webin-primary .x-btn-icon-el { color: #fff !important; }
.x-window-header-default { background: #66368b; border-color: #66368b; }
.x-window-default { border-color: #d7c9e1; border-radius: 6px; }
/* Compact sign-in adapted from the licensed Sencha Classic authentication example. */
.webin-login-page, .webin-login-page .webin-content { background: #efedf3; background-image: radial-gradient(ellipse at 50% 15%, #e4dceb 0, #efedf3 60%); }
.webin-login-card { border: 1px solid #e0d8e7 !important; border-top: 5px solid #66368b !important; border-radius: 12px; overflow: hidden; box-shadow: 0 15px 45px rgba(50,30,65,.10); }
.webin-login-card > .x-panel-bodyWrap > .x-panel-body { background: #fff; }
.webin-login-brand { padding: 25px 24px 22px; text-align: center; }
.webin-login-brand img { display: block; margin: 0 auto 17px; }
.webin-login-brand h1 { margin: 0 0 8px; color: #362441; font-size: 23px; font-weight: 650; line-height: 1.3; }
.webin-login-brand p { margin: 0; color: #51445c; font-size: 13px; line-height: 1.6; }
.webin-login-card .x-form-item-label-text { color: #51405e; font-size: 13px; font-weight: 600; }
.webin-login-field .x-form-trigger-wrap-default { border: 1px solid #d9cfe1; border-radius: 6px; background: #fff; }
.webin-login-field .x-form-trigger-wrap-focus { border-color: #80559c; box-shadow: 0 0 0 2px rgba(102,54,139,.10); }
.webin-login-field .x-form-trigger-wrap-invalid { border-color: #c05d60; }
.webin-login-field .x-form-text-default { color: #403348; font-size: 14px; padding: 11px 13px; background: transparent; }
.webin-login-field input::placeholder { color: #716279; }
.webin-password-trigger { color: #8a749a; width: 42px; line-height: 44px; background: transparent; font-size: 16px; cursor: pointer; }
.webin-password-trigger.webin-password-visible { color: #66368b; }
.webin-login-submit.x-btn { border-radius: 6px; background: #4d7c36; border-color: #4d7c36; }
.webin-login-submit .x-btn-inner { font-size: 15px; font-weight: 600; color: #fff; }
.webin-login-footer { padding: 21px 20px 23px; background: #faf8fc; border-top: 1px solid #eee8f2; color: #62526d; text-align: center; font-size: 12px; line-height: 1.9; }
.webin-login-footer a { color: #694483; text-decoration: none; font-size: 13px; font-weight: 600; }
.webin-login-footer a:hover { text-decoration: underline; }
.webin-login-footer a:focus { outline: 2px solid #80559c; outline-offset: 4px; }
@media (max-width: 480px) { .webin-login-brand { padding: 20px 16px; } .webin-login-brand h1 { font-size: 21px; } .webin-login-card { border-radius: 9px; } }
.webin-login-card .webin-login-submit.x-btn-default-medium { background-color: #4d7c36 !important; background-image: none !important; border-color: #4d7c36 !important; }
.webin-login-card .webin-login-submit.x-btn-disabled { opacity: .55; }
.webin-register-card .webin-login-brand { padding: 19px 24px 18px; }
.webin-register-card .webin-login-brand img { margin-bottom: 11px; }
.webin-register-card .webin-login-brand h1 { margin-bottom: 6px; }
.webin-trial-badge { display: inline-block; margin-top: 12px; padding: 5px 12px; border-radius: 14px; background: #eef4e9; color: #4a6b36; font-size: 11px; font-weight: 600; }
.webin-register-help { color: #62526d; font-size: 11px; line-height: 1.6; padding: 0 0 2px; }
.webin-register-card .webin-login-footer { padding: 14px 20px 16px; }

/* One accessible native input provides paste, autofill and keyboard editing for six visual slots. */
.webin-code-field .x-form-trigger-wrap-default { border: 0; background: transparent; box-shadow: none; }
.webin-code-field .x-form-text-wrap { position: relative; height: 52px; }
.webin-code-field input.x-form-text { position: relative; z-index: 2; height: 52px; color: transparent !important; caret-color: transparent; background: transparent !important; -webkit-text-fill-color: transparent; }
.webin-code-field input::selection { background: rgba(102,54,139,.12); }
.webin-code-slots { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; pointer-events: none; }
.webin-code-slot { display: flex; align-items: center; justify-content: center; border: 1px solid #d9cfe1; border-radius: 6px; background: #fff; color: #403348; font: 600 24px/1 monospace; }
.webin-code-slot-active { border-color: #80559c; box-shadow: 0 0 0 2px rgba(102,54,139,.12); }
.webin-code-field .x-form-trigger-wrap-invalid .webin-code-slot { border-color: #c05d60; }

.webin-financial-titles > .x-panel-bodyWrap > .x-panel-body { background: #fff; }
.webin-finance-summary { display: flex; gap: 28px; flex-wrap: wrap; padding: 16px 20px; color: #695775; background: #faf8fc; border-bottom: 1px solid #e9e2ee; }
.webin-finance-summary strong { color: #493053; }

.webin-navigation .x-grid-item-selected .x-tree-node-text { color: #fff !important; }

.webin-login-card .x-form-item-label-text { color: #403047; }
.webin-login-card .webin-code-field .x-form-item-label-text { font-size: 13px; font-weight: 600; }
.webin-login-brand strong { overflow-wrap: anywhere; }

/* Triton's light weight is reinforced for readable instructions and secondary text. */
.webin-login-brand p, .webin-login-footer, .webin-register-help,
.webin-heading p, .webin-note, .webin-page-heading p, .webin-form-help,
.webin-empty-state p, .webin-finance-summary { font-weight: 400; }
.webin-register-help { font-size: 12px; }
.webin-login-field .x-form-text-default, .webin-work-view .x-grid-item { font-weight: 400; }
.webin-login-card .webin-secondary.x-btn { background: #fff; border: 1px solid #b9a7c7; border-radius: 6px; }
.webin-login-card .webin-secondary .x-btn-inner { color: #58346f; font-weight: 600; }
.webin-login-card .webin-secondary.x-btn-over { background: #f3edf7; }

.webin-cash-summary { display: flex; flex-wrap: wrap; gap: 12px; padding: 16px; }
.webin-cash-summary > div { flex: 1; min-width: 190px; padding: 16px; background: #faf8fc; border: 1px solid #e1d7e8; border-radius: 8px; }
.webin-cash-summary span { display: block; color: #62526d; font-size: 12px; font-weight: 400; margin-bottom: 10px; }
.webin-cash-summary strong { color: #3b2947; font-size: 21px; font-weight: 600; }
.webin-cash-note { padding: 0 16px 16px; color: #55465e; font-size: 12px; line-height: 1.7; font-weight: 400; }

.webin-cash-tabs > .x-tab-bar, .webin-cash-tabs > .x-panel-bodyWrap > .x-tab-bar { background: #eee5f4; }
.webin-cash-tabs .x-tab-default-top { background: #eee5f4; }
.webin-cash-tabs .x-tab-default-top .x-tab-inner { color: #58376e; }
.webin-cash-tabs .x-tab-active.x-tab-default-top { background: #fff; }

.webin-financial-titles .x-grid-row-summary .x-grid-cell { background: #eee5f4; color: #3b2947; font-weight: 700; border-top: 1px solid #cbb9d7; }
.webin-financial-titles .x-docked-summary { border-color: #d7c9e1; }

.webin-money-field .x-form-text { text-align: right; font-variant-numeric: tabular-nums; }

.webin-cash-report .webin-page-heading { margin-bottom: 10px; }
.webin-cash-report .webin-cash-summary { padding: 10px 16px; }
.webin-cash-report .webin-cash-summary > div { padding: 11px 14px; }
.webin-cash-report .webin-cash-note { padding-bottom: 10px; }
.webin-cash-report .x-docked-bottom.x-toolbar { padding: 3px 8px; }

/* Red accent for the financial title creation action, preserving theme button sizing. */
.webin-accent-red.x-btn { background: #b83c3c; border-color: #b83c3c; border-radius: 4px; }
.webin-accent-red.x-btn-over, .webin-accent-red.x-btn-pressed { background: #983131; border-color: #983131; }
.webin-accent-red .x-btn-inner, .webin-accent-red .x-btn-icon-el { color: #fff !important; }

.webin-required-indicator { color: #b83c3c; font-weight: 700; margin-left: 3px; }

.webin-desktop-header .webin-organization-trigger.x-btn { background: transparent; border-color: transparent; padding: 8px 10px; }
.webin-desktop-header .webin-organization-trigger .x-btn-inner { color: #5c426e; font-size: 14px; font-weight: 600; text-transform: uppercase; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.webin-desktop-header .webin-organization-trigger.x-btn-over, .webin-desktop-header .webin-organization-trigger.x-btn-menu-active { background: #f2eef6; border-color: #ded4e7; border-radius: 5px; }
.webin-organization-menu { border: 1px solid #d7cce0; border-radius: 6px; }
.webin-organization-menu .x-menu-body { background: #efedf2; }
.webin-organization-menu-title { text-align: center; color: #42304f; font-size: 18px; font-weight: 600; line-height: 26px; }
.webin-organization-menu-hint { text-align: center; color: #62556c; font-size: 12px; line-height: 20px; }
.webin-organization-menu .x-form-trigger-wrap { border-color: #d4c8df; background: #fff; }
.webin-organization-clear { color: #796782; }
.webin-organization-list .x-grid-view { background: #efedf2; }
.webin-organization-list .x-grid-item { background: #fff; color: #403249; border: 0; }
.webin-organization-list .x-grid-cell-inner { padding: 0 0 8px; white-space: normal; }
.webin-organization-option { min-height: 46px; padding: 13px 14px; line-height: 20px; display: flex; align-items: center; justify-content: center; gap: 12px; text-align: center; border: 1px solid #e1d9e8; border-radius: 4px; font-weight: 600; overflow-wrap: anywhere; }
.webin-organization-list .x-grid-item-over .webin-organization-option { background: #f5f0fa; border-color: #b69bc9; }
.webin-organization-list .x-grid-item-selected .webin-organization-option { background: #eee5f5; border-color: #9772b2; color: #4d2a64; }
.webin-organization-current { color: #684280; background: #e1d2ed; border-radius: 10px; padding: 1px 8px; font-size: 11px; flex-shrink: 0; }
.webin-organization-count { color: #62556c; font-size: 11px; text-align: center; line-height: 18px; }

.webin-organization-menu { overflow: visible !important; }
.webin-organization-menu::before { content: ''; position: absolute; width: 12px; height: 12px; top: -7px; left: calc(50% - 6px); transform: rotate(45deg); background: #efedf2; border-top: 1px solid #d7cce0; border-left: 1px solid #d7cce0; }
@media (max-width: 999px) { .webin-desktop-header .webin-desktop-brand span { display: none; } }
