      * { box-sizing: border-box; }
      body {
        margin: 0;
        font-family: var(--font-sans);
        font-size: var(--ui-text-base);
        background: var(--bg-main);
        color: var(--text-main);
      }
      .app-shell.hidden,
      .app.hidden {
        display: none !important;
      }
      .hidden {
        display: none !important;
      }
      .company-gate {
        min-height: 100vh;
        display: grid;
        place-items: center;
        padding: 24px;
      }
      .meesho-setup {
        display: grid;
        gap: 10px;
        margin: 0 0 16px;
        padding: 14px;
        border: 1px solid #fed7aa;
        border-radius: 14px;
        background: #fff7ed;
      }
      .meesho-setup h3 {
        margin: 0;
        font-size: 14px;
      }
      .meesho-setup__field {
        display: grid;
        gap: 4px;
        font-size: 12px;
        font-weight: 700;
      }
      .meesho-setup select {
        font: inherit;
        font-weight: 600;
        padding: 8px 10px;
        border-radius: 8px;
        border: 1px solid #e5e7eb;
        background: #fff;
      }
      .meesho-setup button:disabled,
      .meesho-setup select:disabled {
        opacity: 0.55;
        cursor: not-allowed;
      }
      .meesho-setup__gstin {
        padding: 10px;
        border-radius: 10px;
        background: #fff;
        border: 1px solid #e5e7eb;
        font-size: 12px;
        line-height: 1.5;
      }
      .meesho-setup__status {
        margin: 0;
        color: #b91c1c;
        font-size: 12px;
        font-weight: 700;
      }
      .company-gate__card {
        width: min(760px, 100%);
        background: #fff;
        border: 1px solid var(--border);
        border-radius: 16px;
        padding: 22px;
        box-shadow: 0 12px 40px rgba(15, 23, 42, 0.08);
      }
      .company-create {
        min-height: 100vh;
        display: grid;
        place-items: center;
        padding: 24px;
      }
      .company-create__card {
        width: min(860px, 100%);
        background: #fff;
        border: 1px solid var(--border);
        border-radius: 16px;
        padding: 22px;
        box-shadow: 0 12px 40px rgba(15, 23, 42, 0.08);
      }
      .company-list {
        margin: 14px 0;
        padding: 0;
        list-style: none;
        display: grid;
        gap: 10px;
      }
      .company-item {
        border: 1px solid var(--border);
        border-radius: 10px;
        padding: 12px;
        cursor: pointer;
        background: #fff;
      }
      .company-item:hover {
        background: #f8fafc;
      }
      .company-item__name {
        font-weight: 700;
      }
      .company-item__meta {
        font-size: 12px;
        color: var(--text-muted);
      }
      .company-item__kind {
        display: inline-block;
        margin-top: 6px;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.02em;
        padding: 2px 8px;
        border-radius: 999px;
        background: #e2e8f0;
        color: #334155;
      }
      .company-item__kind--offline {
        background: #fef3c7;
        color: #92400e;
      }
      .kind-options {
        display: grid;
        gap: 8px;
      }
      .kind-option {
        display: flex;
        gap: 10px;
        align-items: flex-start;
        border: 1px solid var(--border);
        border-radius: 10px;
        padding: 10px 12px;
        cursor: pointer;
        background: #fff;
        text-transform: none;
        letter-spacing: normal;
        font-weight: 500;
        color: #0f172a;
      }
      .kind-option input {
        width: auto;
        margin: 3px 0 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        flex: 0 0 auto;
      }
      .kind-option:has(input:checked) {
        border-color: #0f766e;
        background: #f0fdfa;
      }
      .kind-option strong {
        display: block;
      }
      .kind-option em {
        font-style: normal;
        font-size: 12px;
        color: var(--text-muted);
      }
      .sidebar-link-muted {
        color: rgb(255 255 255 / 0.42) !important;
        cursor: not-allowed;
        pointer-events: none;
      }
      .masters-layout {
        display: grid;
        grid-template-columns: 300px 1fr;
        min-height: 540px;
        border-radius: 16px;
        overflow: hidden;
        border: 1px solid #dbe3f0;
        box-shadow: 0 18px 44px rgba(15, 23, 42, 0.09);
      }
      .masters-nav {
        background: linear-gradient(180deg, #edf4fc 0%, #e8f0fa 100%);
        padding: 16px 0 20px;
        border-right: 1px solid #d6e2f0;
        overflow-y: auto;
      }
      .masters-group {
        margin-bottom: 18px;
      }
      .masters-group:last-child {
        margin-bottom: 0;
      }
      .masters-group__title {
        margin: 0;
        padding: 0 18px 8px;
        font-size: 14px;
        font-weight: 800;
        color: #0f172a;
      }
      .masters-item {
        display: block;
        width: 100%;
        text-align: left;
        border: none;
        background: transparent;
        padding: 10px 18px;
        font-size: 14px;
        font-weight: 500;
        color: #1e293b;
        cursor: pointer;
        font-family: inherit;
        transition: background-color 0.15s ease;
      }
      .masters-item:hover {
        background: rgba(255, 255, 255, 0.55);
      }
      .masters-item.active {
        background: #f5c542;
        color: #0f172a;
        font-weight: 700;
      }
      .masters-content {
        background: #fff;
        padding: 24px;
        display: flex;
        flex-direction: column;
      }
      .masters-content__title {
        margin: 0;
        font-size: 22px;
        font-weight: 800;
        color: #0f172a;
      }
      .masters-content__group {
        margin: 6px 0 0;
        font-size: 13px;
        font-weight: 700;
        color: #64748b;
        text-transform: uppercase;
        letter-spacing: 0.04em;
      }
      .masters-content__body {
        margin-top: 18px;
        flex: 1;
      }
      .masters-placeholder {
        border: 1px dashed #cbd5e1;
        border-radius: 12px;
        background: #f8fafc;
        padding: 28px 20px;
        color: #475569;
        font-size: 14px;
        line-height: 1.6;
      }
      .masters-summary {
        display: grid;
        gap: 10px;
        margin-top: 14px;
      }
      .masters-summary__row {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        padding: 10px 12px;
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        background: #fff;
        font-size: 13px;
      }
      .masters-summary__label {
        color: #64748b;
        font-weight: 600;
      }
      .masters-summary__value {
        color: #0f172a;
        font-weight: 700;
        text-align: right;
      }
      .voucher-shell {
        border-radius: 16px;
        overflow: hidden;
        border: 1px solid #dbe3f0;
        box-shadow: 0 18px 44px rgba(15, 23, 42, 0.09);
        background: #fff;
      }
      .voucher-topbar {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        padding: 10px 12px;
        background: linear-gradient(180deg, #edf4fc 0%, #e3edf8 100%);
        border-bottom: 1px solid #d6e2f0;
      }
      .voucher-topbar__btn {
        border: 1px solid #c7d7ea;
        background: #fff;
        color: #1e3a5f;
        border-radius: 8px;
        padding: 8px 12px;
        font-size: 13px;
        font-weight: 700;
        cursor: pointer;
        font-family: inherit;
        transition: background-color 0.15s ease, border-color 0.15s ease;
      }
      .voucher-topbar__btn:hover {
        background: #f8fbff;
        border-color: #93b4d9;
      }
      .voucher-topbar__btn.active {
        background: var(--color-primary);
        border-color: var(--color-primary-dark);
        color: #fff;
      }
      .voucher-topbar__btn kbd {
        display: inline-block;
        margin-right: 6px;
        padding: 1px 5px;
        border-radius: 4px;
        font-size: 11px;
        font-weight: 800;
        background: rgba(15, 23, 42, 0.08);
      }
      .voucher-topbar__btn.active kbd {
        background: rgba(255, 255, 255, 0.22);
        color: #fff;
      }
      .voucher-shortcuts {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding: 8px 12px;
        background: #f8fbff;
        border-bottom: 1px solid #e2e8f0;
        font-size: 12px;
      }
      .voucher-shortcuts span {
        color: #475569;
        font-weight: 600;
      }
      .voucher-shortcuts u {
        text-decoration: none;
        font-weight: 800;
        color: #1e40af;
      }
      .voucher-form {
        background: linear-gradient(180deg, #fafcff 0%, #f4f8fc 100%);
        min-height: 420px;
        padding: 0;
        display: flex;
        flex-direction: column;
      }
      .voucher-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 16px;
        padding: 14px 16px 10px;
        border-bottom: 1px solid #dbe3f0;
      }
      .voucher-head__left {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        flex: 1;
      }
      .voucher-type-badge {
        background: #1d4ed8;
        color: #fff;
        font-weight: 800;
        font-size: 14px;
        padding: 8px 14px;
        border-radius: 6px;
        min-width: 88px;
        text-align: center;
      }
      .voucher-meta {
        display: grid;
        gap: 8px;
      }
      .voucher-meta__row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
        font-size: 13px;
        color: #334155;
      }
      .voucher-meta__row label {
        font-weight: 700;
        color: #475569;
      }
      .voucher-meta__row input,
      .voucher-meta__row select {
        border: 1px solid #cbd5e1;
        border-radius: 8px;
        padding: 6px 10px;
        font-size: 13px;
        font-family: inherit;
        background: #fff;
      }
      .voucher-meta__row input:focus {
        outline: none;
        border-color: #818cf8;
        box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
      }
      .voucher-meta__highlight input {
        background: #fff8dc;
      }
      .voucher-head__right {
        text-align: right;
        font-size: 13px;
        color: #334155;
        font-weight: 600;
      }
      .voucher-head__right strong {
        display: block;
        font-size: 14px;
        color: #0f172a;
      }
      .voucher-gst-line {
        padding: 6px 16px;
        font-size: 12px;
        font-weight: 700;
        color: var(--color-primary-dark);
        background: var(--color-primary-light);
        border-bottom: 1px solid var(--color-primary-border);
      }
      .voucher-account-bar {
        padding: 10px 16px;
        border-bottom: 1px solid #e2e8f0;
        display: grid;
        gap: 6px;
        font-size: 13px;
      }
      .voucher-account-bar strong {
        color: #0f172a;
      }
      .voucher-table-wrap {
        flex: 1;
        padding: 0 16px 12px;
      }
      .voucher-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 13px;
      }
      .voucher-table thead th {
        text-align: left;
        font-weight: 800;
        color: #334155;
        padding: 10px 8px;
        border-bottom: 2px solid #cbd5e1;
      }
      .voucher-table thead th.num {
        text-align: right;
      }
      .voucher-table tbody td {
        padding: 8px;
        border-bottom: 1px solid #e8edf5;
        vertical-align: top;
      }
      .voucher-table tbody tr.active-row td {
        background: #fff8dc;
      }
      .voucher-table input {
        width: 100%;
        border: 1px solid transparent;
        background: transparent;
        padding: 6px 4px;
        font-size: 13px;
        font-family: inherit;
      }
      .voucher-table input:focus {
        outline: none;
        border-color: #93c5fd;
        background: #fff;
        border-radius: 6px;
      }
      .voucher-table .num input {
        text-align: right;
      }
      .voucher-table .sub {
        font-size: 11px;
        color: #64748b;
        margin-top: 2px;
      }
      .voucher-footer {
        border-top: 1px solid #dbe3f0;
        background: #fff;
        padding: 12px 16px 14px;
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 16px;
        align-items: end;
      }
      .voucher-narration label {
        display: block;
        font-size: 12px;
        font-weight: 800;
        color: #64748b;
        margin-bottom: 6px;
        text-transform: uppercase;
        letter-spacing: 0.04em;
      }
      .voucher-narration textarea {
        width: 100%;
        min-height: 54px;
        border: 1px solid #cbd5e1;
        border-radius: 10px;
        padding: 8px 10px;
        font-family: inherit;
        font-size: 13px;
        resize: vertical;
      }
      .voucher-totals {
        min-width: 180px;
        text-align: right;
        font-size: 14px;
        font-weight: 800;
        color: #0f172a;
      }
      .voucher-totals__row {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        padding: 4px 0;
        border-bottom: 1px solid #e2e8f0;
      }
      .voucher-actions {
        grid-column: 1 / -1;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding-top: 4px;
      }
      .voucher-actions button {
        border: 1px solid #cbd5e1;
        background: #f8fafc;
        color: #334155;
        border-radius: 8px;
        padding: 8px 12px;
        font-size: 12px;
        font-weight: 700;
        cursor: pointer;
        font-family: inherit;
      }
      .voucher-actions button.primary {
        background: var(--color-primary);
        border-color: var(--color-primary-dark);
        color: #fff;
      }
      .voucher-mode-hint {
        font-weight: 700;
        color: var(--color-primary-dark);
      }
      .voucher-entry {
        flex: 1;
        display: flex;
        flex-direction: column;
      }
      .voucher-form--tally {
        background: #fff8f3;
        font-family: Arial, Helvetica, sans-serif;
        color: #111;
        flex: 1;
      }
      .voucher-form--purchase {
        background: #fdf3f8;
      }
      .voucher-head__right--datebox {
        background: #ffffc8;
        border: 1px solid #d4c86a;
        border-radius: 4px;
        padding: 8px 12px;
        text-align: center;
        min-width: 96px;
      }
      .voucher-form--tally .voucher-type-badge {
        background: #1e4f8f;
        color: #fff;
        border-radius: 0;
      }
      .voucher-no-input {
        background: #ffe8b0;
        border: 1px solid #e2c56d;
        font-weight: 700;
      }
      .voucher-meta__row.sub-only {
        margin-top: -4px;
      }
      .voucher-meta__row.sub-only span {
        font-size: 12px;
        font-style: italic;
        color: #334155;
      }
      .voucher-table--items thead th,
      .voucher-table--purchase thead th,
      .voucher-table--voucher thead th {
        border-bottom: 1px solid #64748b;
        font-weight: 700;
        color: #111;
      }
      .voucher-form--tally .voucher-table tbody tr.active-row td {
        background: #ffa500;
      }
      .voucher-table td.amt {
        text-align: right;
        font-variant-numeric: tabular-nums;
        font-weight: 600;
        padding-right: 14px;
      }
      .voucher-subtotal-row td {
        border-top: 1px solid #94a3b8;
      }
      .voucher-tax-row td {
        font-weight: 600;
      }
      .voucher-spacer-row {
        height: 120px;
      }
      .voucher-item-footer {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        padding: 10px 16px;
        border-top: 2px double #64748b;
        font-size: 13px;
      }
      .voucher-grand-total strong {
        font-size: 15px;
      }
      .voucher-particulars strong {
        font-weight: 700;
      }
      .voucher-nested-item {
        display: grid;
        grid-template-columns: 1fr auto auto;
        gap: 12px;
        margin: 4px 0 4px 18px;
        font-size: 12px;
        color: #1e293b;
      }
      .voucher-nested-item__amt {
        text-align: right;
        font-variant-numeric: tabular-nums;
      }
      .voucher-bill-ref {
        margin: 4px 0 0 18px;
        font-size: 12px;
        font-style: italic;
        color: #334155;
      }
      tr.voucher-party-billwise {
        cursor: pointer;
      }
      tr.voucher-party-billwise:hover td {
        background: var(--color-primary-light);
      }
      .bill-wise-table-wrap {
        overflow: auto;
      }
      .bill-wise-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 12px;
      }
      .bill-wise-table th,
      .bill-wise-table td {
        border: 1px solid var(--color-border);
        padding: 6px 8px;
        vertical-align: middle;
      }
      .bill-wise-table thead th {
        background: var(--color-surface-2);
        font-weight: 700;
        text-align: left;
        color: var(--color-text-1);
      }
      .bill-wise-table tr.active-row td {
        background: var(--color-primary-light);
      }
      .bill-wise-table input,
      .bill-wise-table select {
        width: 100%;
        border: 1px solid var(--color-border);
        border-radius: var(--radius-sm);
        padding: 4px 6px;
        font: inherit;
        background: #fff;
      }
      .bill-wise-table input:focus,
      .bill-wise-table select:focus {
        outline: none;
        border-color: var(--color-primary);
        box-shadow: 0 0 0 3px var(--color-primary-ring);
      }
      .bill-wise-table tfoot td {
        font-weight: 700;
        background: var(--color-surface-2);
      }
      .voucher-totals__row--grand span:last-child {
        font-weight: 800;
        font-size: 16px;
      }
      .main {
        padding: 22px;
      }
      .top {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        margin-bottom: 16px;
      }
      .top-right {
        display: flex;
        align-items: center;
        gap: 12px;
      }
      .top h1 {
        margin: 0;
        font-size: 26px;
      }
      .top-company {
        font-size: 13px;
        font-weight: 700;
        color: var(--color-primary-dark);
        background: var(--color-primary-light);
        border: 1px solid var(--color-primary-border);
        border-radius: 999px;
        padding: 6px 10px;
      }
      .status {
        font-size: 13px;
        font-weight: 700;
      }
      .profile {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 6px 10px;
        border-radius: 999px;
        border: 1px solid var(--border);
        background: #fff;
      }
      .profile-avatar {
        width: 30px;
        height: 30px;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: var(--brand-soft);
        color: var(--color-primary-dark);
        font-size: 12px;
        font-weight: 800;
      }
      .profile-name {
        font-size: 13px;
        font-weight: 700;
        color: #0f172a;
      }
      .card {
        background: #fff;
        border: 1px solid var(--border);
        border-radius: 14px;
        padding: 20px;
        box-shadow: 0 8px 30px rgba(15, 23, 42, 0.05);
      }
      .config-shell {
        border-radius: 16px;
        border-color: #dbe3f0;
        box-shadow: 0 18px 44px rgba(15, 23, 42, 0.09);
      }
      .form-head {
        margin-bottom: 18px;
        padding-bottom: 14px;
        border-bottom: 1px solid #e8edf7;
      }
      .form-title {
        margin: 0;
        font-size: 20px;
        font-weight: 800;
        letter-spacing: -0.01em;
      }
      .form-subtitle {
        margin: 8px 0 0;
        color: #64748b;
        font-size: 13px;
      }
      .config-section {
        margin-top: 14px;
        border: 1px solid #e6ebf5;
        border-radius: 12px;
        background: linear-gradient(180deg, #fbfdff 0%, #f8fbff 100%);
        padding: 14px;
      }
      .section-title {
        margin: 0 0 12px;
        font-size: 13px;
        font-weight: 800;
        color: #334155;
        text-transform: uppercase;
        letter-spacing: 0.05em;
      }
      .grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px 16px;
      }
      .field {
        display: flex;
        flex-direction: column;
        gap: 6px;
      }
      .field.full {
        grid-column: 1 / -1;
      }
      .field label {
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: #64748b;
      }
      .field input,
      .field select,
      .field textarea {
        width: 100%;
        border: 1px solid #cbd5e1;
        border-radius: 11px;
        background: #fff;
        color: #0f172a;
        padding: 10px 12px;
        font-size: 14px;
        font-family: inherit;
        transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
      }
      .field input:focus,
      .field select:focus,
      .field textarea:focus {
        outline: none;
        border-color: #818cf8;
        box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.14);
      }
      .field input[readonly] {
        background: #f8fafc;
        color: #475569;
        font-weight: 700;
      }
      .field textarea {
        min-height: 70px;
        resize: vertical;
      }
      .field-hint {
        margin: 2px 0 0;
        font-size: 12px;
        color: #64748b;
      }
      .setting-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        margin-bottom: 12px;
      }
      .setting-card {
        border: 1px solid #dbe3f0;
        border-radius: 12px;
        background: #fff;
        padding: 12px;
      }
      .setting-card label {
        display: block;
        margin-bottom: 6px;
      }
      .setting-card select {
        width: 100%;
      }
      .setting-title {
        margin: 0 0 8px;
        font-size: 13px;
        font-weight: 800;
        color: #334155;
      }
      .config-subsection {
        margin-top: 12px;
        padding-top: 12px;
        border-top: 1px dashed #dbe3f0;
      }
      .config-subsection:first-child {
        margin-top: 0;
        padding-top: 0;
        border-top: none;
      }
      .config-subsection__title {
        margin: 0 0 10px;
        font-size: 12px;
        font-weight: 800;
        color: #475569;
        text-transform: uppercase;
        letter-spacing: 0.05em;
      }
      .actions {
        margin-top: 14px;
        display: flex;
        justify-content: flex-end;
      }
      .btn-primary {
        border: none;
        background: var(--gradient-primary);
        color: #fff;
        border-radius: var(--radius-sm);
        padding: 6px 10px;
        font-size: var(--ui-text-sm);
        font-weight: 700;
        cursor: pointer;
        box-shadow: 0 2px 8px rgb(255 107 53 / 0.22);
      }
      .btn-secondary {
        border: 1px solid var(--color-border);
        background: #fff;
        color: var(--color-text-1);
        border-radius: var(--radius-sm);
        padding: 6px 10px;
        font-size: var(--ui-text-sm);
        font-weight: 700;
        cursor: pointer;
      }
      .btn-secondary:hover {
        background: #f8fafc;
      }
      .ledger-config-form {
        font-size: 13px;
      }
      .ledger-config-header__rows {
        margin-bottom: 12px;
        padding-bottom: 10px;
        border-bottom: 1px solid #e2e8f0;
      }
      .ledger-config-columns {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px;
        align-items: start;
      }
      .ledger-config-col {
        min-width: 0;
      }
      .ledger-config-section {
        margin: 14px 0 8px;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: #64748b;
      }
      .ledger-config-section:first-child {
        margin-top: 0;
      }
      .ledger-config-row {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 12px;
        width: 100%;
        text-align: left;
        border: none;
        background: transparent;
        padding: 6px 8px;
        margin: 0 -8px;
        border-radius: 6px;
        cursor: pointer;
        font-family: inherit;
        font-size: 13px;
        color: #1e293b;
      }
      .ledger-config-row:hover,
      .ledger-config-row:focus-visible {
        background: #fef9c3;
        outline: none;
      }
      .ledger-config-row__label {
        flex: 1;
        line-height: 1.4;
      }
      .ledger-config-row__value {
        flex-shrink: 0;
        font-weight: 700;
        color: #1d4ed8;
        min-width: 36px;
        text-align: right;
      }
      .ledger-config-row--indent-1 {
        padding-left: 20px;
      }
      .ledger-config-row--indent-2 {
        padding-left: 36px;
      }
      @media (max-width: 900px) {
        .ledger-config-columns {
          grid-template-columns: 1fr;
        }
      }
      .tally-report-card {
        border: none;
        box-shadow: none;
        background: #fff;
      }
      .tally-report {
        font-family: Georgia, 'Times New Roman', serif;
        color: #000;
        background: #fff;
        min-height: 520px;
        position: relative;
      }
      .tally-report__main {
        transition: opacity 0.12s ease;
      }
      .tally-report--period-open .tally-report__main {
        opacity: 0.35;
        pointer-events: none;
      }
      .tally-report__header {
        display: grid;
        grid-template-columns: 1fr auto 32px;
        align-items: center;
        gap: 12px;
        background: #b8d4f0;
        padding: 8px 12px;
        border-bottom: 1px solid #8fb3d9;
      }
      .tally-report__title {
        font-weight: 700;
        font-size: 15px;
      }
      .tally-report__company {
        font-weight: 700;
        font-size: 15px;
        text-align: center;
      }
      .tally-report__close {
        border: none;
        background: transparent;
        font-size: 22px;
        line-height: 1;
        cursor: pointer;
        color: #1e293b;
      }
      .tally-report__columns {
        display: grid;
        grid-template-columns: 1fr 1fr;
        min-height: 460px;
      }
      .tally-report__col {
        display: flex;
        flex-direction: column;
        border-right: 1px solid #cbd5e1;
      }
      .tally-report__col:last-child {
        border-right: none;
      }
      .tally-report__col-head {
        display: flex;
        justify-content: space-between;
        gap: 8px;
        padding: 8px 12px;
        font-weight: 700;
        font-size: 14px;
        border-bottom: 1px solid #e2e8f0;
      }
      .tally-report__meta {
        font-weight: 400;
        font-size: 12px;
        color: #334155;
        text-align: right;
      }
      .tally-report__body {
        flex: 1;
        padding: 4px 0;
        outline: none;
      }
      .tally-report__row {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 12px;
        padding: 3px 12px;
        font-size: 14px;
        cursor: default;
        border: none;
        background: transparent;
        width: 100%;
        text-align: left;
        font-family: inherit;
        color: inherit;
      }
      .tally-report__row--spacer {
        min-height: 18px;
        cursor: default;
      }
      .tally-report__row--bold .tally-report__label {
        font-weight: 700;
      }
      .tally-report__row--italic .tally-report__label {
        font-style: italic;
      }
      .tally-report__row--indent-1 .tally-report__label {
        padding-left: 16px;
      }
      .tally-report__row--indent-2 .tally-report__label {
        padding-left: 32px;
      }
      .tally-report__row.active,
      .tally-report__row:focus-visible {
        background: #ffff00;
        outline: none;
      }
      .tally-report__label {
        min-width: 0;
      }
      .tally-report__amount {
        white-space: nowrap;
        text-align: right;
        font-variant-numeric: tabular-nums;
      }
      .tally-report__foot {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        padding: 8px 12px;
        font-weight: 700;
        border-top: 1px solid #94a3b8;
        margin-top: auto;
      }
      .tally-report__foot-amt {
        font-variant-numeric: tabular-nums;
      }
      .tally-change-period {
        position: absolute;
        inset: 0;
        z-index: 5;
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgb(15 23 42 / 0.08);
      }
      .tally-change-period--global {
        position: fixed;
        z-index: 1300;
        background: rgb(12 30 77 / 0.2);
      }
      .tally-change-period.hidden {
        display: none !important;
      }
      .tally-change-period__box {
        min-width: 220px;
        background: #fff;
        border: 1px solid #1e293b;
        box-shadow: 0 8px 24px rgb(15 23 42 / 0.12);
        padding: 10px 14px 12px;
      }
      .tally-change-period__heading {
        margin: 0 0 10px;
        text-align: center;
        font-weight: 700;
        font-size: 14px;
        color: #0f172a;
        font-family: var(--font-sans);
      }
      .tally-change-period__row {
        display: grid;
        grid-template-columns: 42px 8px 1fr;
        align-items: center;
        gap: 4px;
        margin-bottom: 6px;
        font-family: var(--font-sans);
        font-size: 12px;
        font-weight: 600;
        color: #1e293b;
      }
      .tally-change-period__row label {
        text-align: left;
      }
      .tally-change-period__input {
        width: 100%;
        border: 1px solid #94a3b8;
        padding: 2px 4px;
        font-size: 12px;
        font-family: inherit;
        background: #fff;
      }
      .tally-change-period__input:focus {
        outline: none;
        background: #fff8dc;
        border-color: #64748b;
      }
      @media (max-width: 900px) {
        .tally-report__columns {
          grid-template-columns: 1fr;
        }
        .tally-report__col {
          border-right: none;
          border-bottom: 1px solid #cbd5e1;
        }
      }
      .muted { color: var(--text-muted); }
      .health-btn {
        margin-top: 14px;
        display: inline-block;
        text-decoration: none;
        color: #fff;
        background: var(--brand);
        border-radius: 10px;
        padding: 10px 14px;
        font-weight: 700;
        font-size: 14px;
      }
      .group-master-form .section-title {
        margin-top: 0;
      }
      @media (max-width: 900px) {
        .app { grid-template-columns: 1fr; }
        .sidebar { border-right: none; border-bottom: 1px solid var(--border); }
        .grid { grid-template-columns: 1fr; }
        .setting-grid { grid-template-columns: 1fr; }
        .masters-layout { grid-template-columns: 1fr; }
        .voucher-footer { grid-template-columns: 1fr; }
      }
      .notebook {
        margin-top: 14px;
        border: 1px solid #e6ebf5;
        border-radius: 12px;
        overflow: hidden;
        background: #fff;
      }
      .notebook__tabs {
        display: flex;
        flex-wrap: wrap;
        gap: 0;
        background: linear-gradient(180deg, #f8fbff 0%, #eef4fc 100%);
        border-bottom: 1px solid #dbe3f0;
        padding: 0 8px;
      }
      .notebook__tab {
        border: none;
        background: transparent;
        color: #475569;
        font-family: inherit;
        font-size: 13px;
        font-weight: 700;
        padding: 12px 16px;
        cursor: pointer;
        border-bottom: 3px solid transparent;
        margin-bottom: -1px;
      }
      .notebook__tab:hover {
        color: var(--color-primary-dark);
        background: rgba(255, 255, 255, 0.5);
      }
      .notebook__tab.active {
        color: var(--color-primary-dark);
        background: #fff;
        border-bottom-color: var(--color-primary);
      }
      .notebook__panels {
        padding: 14px;
        background: linear-gradient(180deg, #fbfdff 0%, #f8fbff 100%);
      }
      .notebook__panel {
        display: none;
      }
      .notebook__panel.active {
        display: block;
      }
      .ledger-head {
        margin-bottom: 4px;
      }
      .ledger-tally {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
        align-items: start;
      }
      .ledger-tally__left,
      .ledger-tally__right {
        min-width: 0;
      }
      .ledger-tally__right {
        border-left: 1px solid #e2e8f0;
        padding-left: 20px;
      }
      .ledger-context-block.hidden {
        display: none;
      }
      .ledger-opening {
        margin-top: 16px;
        padding-top: 14px;
        border-top: 1px solid #e2e8f0;
      }
      .ledger-opening__row {
        display: flex;
        gap: 8px;
        align-items: center;
      }
      .ledger-opening__row input {
        flex: 1;
      }
      .ledger-opening__row select {
        min-width: 72px;
      }
      @media (max-width: 900px) {
        .ledger-tally {
          grid-template-columns: 1fr;
        }
        .ledger-tally__right {
          border-left: none;
          padding-left: 0;
          border-top: 1px solid #e2e8f0;
          padding-top: 16px;
        }
      }
      .daybook-card {
        border: none;
        box-shadow: none;
        background: #fff;
      }
      .daybook {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 13px;
        color: #000;
        background: #fff;
        min-height: 520px;
        display: flex;
        flex-direction: column;
      }
      .daybook__header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 12px;
        border-bottom: 1px solid #cbd5e1;
        font-weight: 700;
      }
      .daybook__period {
        font-weight: 400;
      }
      .daybook__table-wrap {
        flex: 1;
        overflow: auto;
      }
      .daybook__table {
        width: 100%;
        border-collapse: collapse;
        table-layout: fixed;
      }
      .daybook__table thead th {
        text-align: left;
        font-weight: 700;
        padding: 8px 10px;
        border-bottom: 1px solid #94a3b8;
        vertical-align: bottom;
        background: #fff;
      }
      .daybook__table .num,
      .daybook__table th.col-vno,
      .daybook__table th.col-debit,
      .daybook__table th.col-credit {
        text-align: right;
      }
      .daybook__subhead {
        display: block;
        font-weight: 400;
        font-size: 11px;
        color: #475569;
      }
      .daybook__table td {
        padding: 4px 10px;
        vertical-align: top;
        word-break: break-word;
      }
      .daybook__row {
        cursor: default;
      }
      .daybook__row.active,
      .daybook__row:focus-visible {
        background: #ffa500;
        outline: none;
      }
      .daybook__total-row td {
        font-weight: 700;
        border-top: 1px solid #94a3b8;
        padding-top: 8px;
      }
      .daybook__table .col-date { width: 9%; }
      .daybook__table .col-particulars { width: 16%; }
      .daybook__table .col-narration { width: 34%; }
      .daybook__table .col-vtype { width: 11%; }
      .daybook__table .col-vno { width: 8%; }
      .daybook__table .col-debit,
      .daybook__table .col-credit { width: 11%; }
      .daybook__footer {
        display: flex;
        flex-wrap: wrap;
        gap: 10px 16px;
        padding: 8px 12px;
        border-top: 1px solid #cbd5e1;
        font-size: 12px;
        color: #1e293b;
      }
      .daybook__footer u {
        text-decoration: underline;
        font-weight: 700;
      }
      .stock-summary-card {
        border: none;
        box-shadow: none;
        background: #fff;
      }
      .stock-summary {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
        color: #000;
        background: #fff;
        min-height: 520px;
        display: flex;
        flex-direction: column;
        position: relative;
      }
      .stock-summary__header {
        display: grid;
        grid-template-columns: 1fr auto 32px;
        align-items: center;
        gap: 12px;
        background: #b8d4f0;
        padding: 6px 10px;
        border-bottom: 1px solid #8fb3d9;
      }
      .stock-summary__title,
      .stock-summary__company {
        font-weight: 700;
        font-size: 13px;
      }
      .stock-summary__company {
        text-align: center;
      }
      .stock-summary__close {
        border: none;
        background: transparent;
        font-size: 20px;
        line-height: 1;
        cursor: pointer;
        color: #1e293b;
      }
      .stock-summary__main {
        flex: 1;
        display: flex;
        flex-direction: column;
        min-height: 0;
        transition: opacity 0.12s ease;
      }
      .stock-summary--period-open .stock-summary__main {
        opacity: 0.35;
        pointer-events: none;
      }
      .stock-summary__meta {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        padding: 6px 10px;
        border-bottom: 1px solid #cbd5e1;
        font-weight: 700;
        font-size: 12px;
      }
      .stock-summary__period-meta {
        font-weight: 400;
        text-align: right;
      }
      .stock-summary__table-wrap {
        flex: 1;
        overflow: auto;
      }
      .stock-summary__table {
        width: 100%;
        border-collapse: collapse;
        table-layout: auto;
        min-width: 1180px;
      }
      .stock-summary__table th,
      .stock-summary__table td {
        border: 1px solid #cbd5e1;
        padding: 3px 6px;
        vertical-align: middle;
        white-space: nowrap;
      }
      .stock-summary__group-row th {
        text-align: center;
        font-weight: 700;
        background: #f8fafc;
        font-size: 12px;
      }
      .stock-summary__subhead-row th {
        text-align: right;
        font-weight: 600;
        font-size: 11px;
        background: #fff;
      }
      .stock-summary__subhead-row th.col-particulars,
      .stock-summary__table .col-particulars {
        text-align: left;
      }
      .stock-summary__table .num {
        text-align: right;
        font-variant-numeric: tabular-nums;
      }
      .stock-summary__row {
        cursor: default;
      }
      .stock-summary__row.active,
      .stock-summary__row:focus-visible {
        background: #ffa500;
        outline: none;
      }
      .stock-summary__row--total td {
        font-weight: 700;
        border-top: 2px solid #94a3b8;
      }
      .stock-summary__table .col-particulars {
        min-width: 160px;
        max-width: 220px;
        white-space: normal;
      }
