
/* Login page migrated from auth/login.blade.php */
:root {
    --go-bg: #f7f9fb;
    --go-surface: #ffffff;
    --go-surface-soft: #f9fafb;
    --go-border: #e3e8ef;
    --go-text: #1f2937;
    --go-muted: #6b7280;
    --go-primary: #2f7d32;
    --go-primary-hover: #256628;
    --go-primary-soft: #e8f5e9;
    --go-action-primary-bg: #2F7D32;
    --go-action-primary-hover: #256628;
    --go-action-primary-text: #FFFFFF;
    --go-success-soft: #dcfce7;
    --go-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
    --radius-card: 14px;
    --radius-control: 12px;
}

* { box-sizing: border-box; }

body {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(circle at 50% 0%, rgba(47, 125, 50, 0.06), transparent 24%),
        linear-gradient(180deg, #ffffff 0%, var(--go-bg) 100%);
    color: var(--go-text);
    font-family: Inter, "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.45;
}

a {
    color: var(--go-primary);
    text-decoration: none;
}

.login-page {
    min-height: 100vh;
    display: grid;
    grid-template-rows: 1fr auto;
    padding-bottom: env(safe-area-inset-bottom, 0px);
}
.login-mobile-only {
    display: block;
}
.login-desktop-only {
    display: none;
}

.login-shell {
    width: min(100%, 520px);
    margin: 0 auto;
    padding: 28px 20px 0;
}

.login-brand {
    display: grid;
    justify-items: center;
    gap: 22px;
    text-align: center;
    padding-top: 20px;
}

.login-wordmark {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    line-height: 1;
}

.login-go {
    font-size: 56px;
    font-weight: 800;
    letter-spacing: -.04em;
}

.login-go .g {
    color: #08a045;
}

.login-go .o {
    color: #8fd19e;
}

.login-organize {
    color: #15263a;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -.03em;
}

.login-hero {
    display: grid;
    gap: 10px;
    margin-top: 28px;
    text-align: center;
}

.login-hero h1 {
    margin: 0;
    color: #15263a;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -.03em;
    line-height: 1.12;
}

.login-hero p {
    margin: 0;
    color: #667085;
    font-size: 15px;
}

.login-form-wrap {
    margin-top: 34px;
}

.login-status,
.login-error {
    margin-bottom: 16px;
    padding: 12px 14px;
    border: 1px solid var(--go-border);
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.5;
}

.login-status {
    border-color: color-mix(in srgb, var(--go-primary) 16%, var(--go-border));
    background: var(--go-primary-soft);
    color: var(--go-primary);
}

.login-error {
    border-color: color-mix(in srgb, #ef4444 18%, var(--go-border));
    background: #fee2e2;
    color: #b42318;
}

.field {
    display: grid;
    gap: 10px;
    margin-bottom: 18px;
}

.field-label {
    color: #1f2937;
    font-size: 14px;
    font-weight: 600;
}

.field-control {
    position: relative;
}

.field-icon {
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    color: #7a8699;
    pointer-events: none;
}

.field-icon svg,
.feature-icon svg,
.trust-icon svg,
.landscape-house svg,
.landscape-tree svg,
.password-toggle svg {
    width: 100%;
    height: 100%;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.field-control input {
    width: 100%;
    min-height: 50px;
    border: 1px solid var(--go-border);
    border-radius: var(--radius-control);
    background: rgba(255, 255, 255, 0.92);
    color: var(--go-text);
    padding: 12px 50px 12px 50px;
    font: inherit;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.field-control input:focus {
    outline: none;
    border-color: color-mix(in srgb, var(--go-primary) 48%, var(--go-border));
    box-shadow: 0 0 0 4px rgba(47, 125, 50, 0.12);
    background: #fff;
}

.password-toggle {
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: 0;
    background: transparent;
    color: #7a8699;
    padding: 0;
    cursor: pointer;
}

.remember-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 6px 0 18px;
}

.remember-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #344054;
    font-size: 14px;
}

.remember-label input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.remember-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 6px;
    background: var(--go-primary);
    color: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.remember-check svg {
    width: 14px;
    height: 14px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.forgot-link {
    color: var(--go-primary);
    font-size: 14px;
    font-weight: 500;
}

.login-submit {
    width: 100%;
    min-height: 58px;
    border: 1px solid var(--go-primary);
    border-radius: 12px;
    background: var(--go-primary);
    color: #fff;
    font: inherit;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0;
    cursor: pointer;
    transition: background-color .16s ease, border-color .16s ease, transform .12s ease;
}

.login-submit:hover {
    background: var(--go-primary-hover);
    border-color: var(--go-primary-hover);
}

.login-submit:active {
    transform: translateY(1px);
}

.content-divider {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 32px 0 22px;
    color: var(--go-muted);
    font-size: 14px;
}

.content-divider::before,
.content-divider::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: var(--go-border);
}

.feature-block {
    display: grid;
    gap: 20px;
    text-align: center;
}

.feature-block h2 {
    margin: 0;
    color: #15263a;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -.01em;
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.feature-card {
    display: grid;
    gap: 10px;
    justify-items: center;
    align-content: start;
}

.feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(232, 245, 233, 0.95), rgba(232, 245, 233, 0.55));
    color: var(--go-primary);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.feature-card strong {
    color: #15263a;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
}

.feature-card span {
    color: var(--go-muted);
    font-size: 12px;
    line-height: 1.55;
}

.trust-panel {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin-top: 28px;
    padding: 16px;
    border: 1px solid rgba(47, 125, 50, 0.12);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(232, 245, 233, 0.72), rgba(255, 255, 255, 0.96));
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.05);
}

.trust-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.7);
    color: var(--go-primary);
}

.trust-copy {
    display: grid;
    gap: 6px;
}

.trust-copy strong {
    color: #15263a;
    font-size: 15px;
    line-height: 1.3;
}

.trust-copy span {
    color: #4b5563;
    font-size: 13px;
    line-height: 1.55;
}

.trust-device {
    position: relative;
    width: 76px;
    height: 72px;
    justify-self: end;
}

.trust-device-phone {
    position: absolute;
    right: 8px;
    bottom: 0;
    width: 48px;
    height: 72px;
    border: 2px solid #7a8699;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.85);
}

.trust-device-phone::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 50%;
    width: 16px;
    height: 4px;
    border-radius: 999px;
    background: #7a8699;
    transform: translateX(-50%);
}

.trust-device-check {
    position: absolute;
    top: 28px;
    left: 50%;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: rgba(47, 125, 50, 0.14);
    transform: translateX(-50%);
}

.trust-device-check::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 6px;
    width: 6px;
    height: 10px;
    border-right: 2px solid var(--go-primary);
    border-bottom: 2px solid var(--go-primary);
    transform: rotate(45deg);
}

.trust-device-leaf,
.trust-device-leaf-right {
    position: absolute;
    bottom: 0;
    width: 18px;
    height: 34px;
    background: linear-gradient(180deg, rgba(143, 209, 158, 0.65), rgba(47, 125, 50, 0.16));
    border-radius: 18px 18px 0 18px;
    transform-origin: bottom;
}

.trust-device-leaf {
    right: 44px;
    transform: rotate(-18deg);
}

.trust-device-leaf-right {
    right: 0;
    border-radius: 18px 18px 18px 0;
    transform: rotate(16deg);
}

.landscape {
    position: relative;
    height: 172px;
    margin-top: 26px;
    overflow: hidden;
    border-bottom-left-radius: 22px;
    border-bottom-right-radius: 22px;
}

.landscape-ground {
    position: absolute;
    inset: auto 0 0;
    height: 118px;
    background:
        radial-gradient(circle at 10% 88%, rgba(143, 209, 158, 0.45) 0 24%, transparent 25%),
        radial-gradient(circle at 28% 100%, rgba(111, 168, 116, 0.28) 0 18%, transparent 19%),
        radial-gradient(circle at 62% 100%, rgba(143, 209, 158, 0.38) 0 18%, transparent 19%),
        radial-gradient(circle at 84% 96%, rgba(111, 168, 116, 0.28) 0 20%, transparent 21%);
}

.landscape-hill {
    position: absolute;
    bottom: 18px;
    left: -6%;
    width: 52%;
    height: 72px;
    border-radius: 50% 50% 0 0;
    background: linear-gradient(180deg, rgba(143, 209, 158, 0.55), rgba(143, 209, 158, 0.28));
}

.landscape-hill.is-second {
    left: 30%;
    width: 42%;
    height: 60px;
}

.landscape-hill.is-third {
    left: 64%;
    width: 38%;
    height: 82px;
}

.landscape-cloud,
.landscape-cloud::before,
.landscape-cloud::after {
    position: absolute;
    background: rgba(229, 231, 235, 0.75);
    border-radius: 999px;
    content: "";
}

.landscape-cloud {
    top: 34px;
    left: 34px;
    width: 34px;
    height: 12px;
}

.landscape-cloud::before {
    width: 16px;
    height: 16px;
    left: 4px;
    top: -7px;
}

.landscape-cloud::after {
    width: 18px;
    height: 18px;
    right: 2px;
    top: -8px;
}

.landscape-cloud.is-second {
    top: 56px;
    left: 154px;
    transform: scale(0.84);
}

.landscape-cloud.is-third {
    top: 42px;
    right: 60px;
    left: auto;
    transform: scale(0.74);
}

.landscape-tree,
.landscape-tree-small {
    position: absolute;
    bottom: 26px;
    color: #3ea35b;
}

.landscape-tree svg,
.landscape-tree-small svg {
    display: block;
}

.landscape-tree {
    width: 26px;
    height: 76px;
}

.landscape-tree-small {
    width: 20px;
    height: 58px;
}

.landscape-tree.is-left {
    left: 6px;
}

.landscape-tree-small.is-left {
    left: 54px;
}

.landscape-tree.is-center {
    left: 228px;
}

.landscape-tree-small.is-center {
    left: 272px;
}

.landscape-tree.is-right {
    right: 6px;
    height: 88px;
}

.landscape-house {
    position: absolute;
    right: 38px;
    bottom: 22px;
    width: 116px;
    height: 108px;
    color: var(--go-primary);
}

.signup-row {
    padding: 18px 20px 28px;
    text-align: center;
    color: #667085;
    font-size: 14px;
}

.signup-row a {
    margin-left: 4px;
    font-weight: 700;
}
.desktop-login-page {
    min-height: 100vh;
    padding: 40px 28px;
}
.desktop-login-shell {
    width: min(100%, 1140px);
    min-height: calc(100vh - 80px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(420px, 500px);
    gap: 44px;
    align-items: center;
}
.desktop-login-hero {
    display: grid;
    gap: 28px;
    align-content: center;
}
.desktop-login-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    line-height: 1;
}
.desktop-login-brand .login-go {
    font-size: 72px;
}
.desktop-login-brand .login-organize {
    font-size: 38px;
}
.desktop-login-copy {
    display: grid;
    gap: 14px;
    max-width: 560px;
}
.desktop-login-copy h1 {
    margin: 0;
    color: #15263a;
    font-size: 48px;
    font-weight: 700;
    letter-spacing: -.04em;
    line-height: 1.05;
}
.desktop-login-copy p {
    margin: 0;
    color: #667085;
    font-size: 18px;
    line-height: 1.65;
}
.desktop-login-feature-list {
    display: grid;
    gap: 14px;
    max-width: 560px;
}
.desktop-login-feature-item {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 16px 18px;
    border: 1px solid var(--go-border);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.05);
}
.desktop-login-feature-copy {
    display: grid;
    gap: 4px;
}
.desktop-login-feature-copy strong {
    color: #15263a;
    font-size: 16px;
    font-weight: 700;
}
.desktop-login-feature-copy span {
    color: var(--go-muted);
    line-height: 1.6;
}
.desktop-login-card {
    padding: 34px 32px 28px;
    border: 1px solid var(--go-border);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--go-shadow);
}
.desktop-login-card-head {
    display: grid;
    gap: 10px;
    margin-bottom: 24px;
}
.desktop-login-card-head h2 {
    margin: 0;
    color: #15263a;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -.03em;
}
.desktop-login-card-head p {
    margin: 0;
    color: var(--go-muted);
    line-height: 1.6;
}
.desktop-login-card .login-submit {
    min-height: 54px;
}
.desktop-signup-row {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--go-border);
    text-align: center;
    color: #667085;
}
.desktop-signup-row a {
    margin-left: 4px;
    font-weight: 700;
}

@media (min-width: 861px) {
    .login-mobile-only {
        display: none;
    }
    .login-desktop-only {
        display: block;
    }
    .login-shell {
        width: min(100%, 1120px);
        padding: 44px 28px 0;
    }

    .login-brand {
        justify-items: start;
    }

    .login-wordmark,
    .login-hero {
        text-align: left;
    }

    .login-main {
        display: grid;
        grid-template-columns: minmax(0, 520px) minmax(0, 1fr);
        gap: 44px;
        align-items: start;
        margin-top: 24px;
    }

    .login-form-wrap {
        margin-top: 0;
        max-width: 520px;
    }

    .feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .landscape {
        height: 220px;
        margin-top: 34px;
    }

    .landscape-house {
        width: 160px;
        height: 146px;
        right: 62px;
    }

    .landscape-tree.is-center {
        left: 54%;
    }

    .landscape-tree-small.is-center {
        left: 60%;
    }
}

@media (max-width: 560px) {
    .login-shell {
        padding: 22px 16px 0;
    }

    .login-go {
        font-size: 48px;
    }

    .login-organize {
        font-size: 24px;
    }

    .login-hero h1 {
        font-size: 28px;
    }

    .remember-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .feature-card span {
        font-size: 11px;
    }

    .trust-panel {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .trust-device {
        display: none;
    }

    .landscape {
        height: 150px;
    }

    .landscape-house {
        right: 18px;
        width: 98px;
        height: 92px;
    }

    .landscape-tree.is-center {
        left: 56%;
    }

    .landscape-tree-small.is-center {
        left: 66%;
    }
}
/* GO Organize global UI layer.
   Page-owned styles should move here as they are stabilized. */

html.go-auth-html,
html.go-app-html,
body.go-auth-body,
body.go-app-body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
}

.go-app-body input,
.go-app-body select,
.go-app-body textarea,
.go-app-body button {
    max-width: 100%;
}

.go-app-body input,
.go-app-body select,
.go-app-body textarea {
    min-width: 0;
}

.go-auth-body .field-control {
    min-width: 0;
    max-width: 100%;
}

.go-auth-body .field-control input {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    font-size: 16px;
    padding: 12px 54px !important;
}

.go-auth-body .field-control input[name="email"] {
    padding-right: 16px !important;
}

@media (max-width: 860px) {
    .go-app-body input,
    .go-app-body select,
    .go-app-body textarea {
        font-size: max(16px, 1rem);
    }
}

.go-auth-centered {
    min-height: 100vh;
    margin: 0;
    display: grid;
    place-items: center;
    background: #f6faf8;
    color: #1d2d2a;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
}

.go-auth-centered .panel {
    width: min(420px, calc(100% - 32px));
    max-width: 100%;
    background: #ffffff;
    border: 1px solid #d8e5de;
    border-radius: 10px;
    padding: 28px;
}

.go-auth-centered h1 {
    font-size: 20px;
    margin: 0 0 8px;
    color: #3F6F63;
}

.go-auth-centered p.lead {
    margin: 0 0 20px;
    color: #61736e;
    line-height: 1.5;
}

.go-auth-centered label {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
    color: #3F6F63;
}

.go-auth-centered input[name="code"],
.go-auth-centered input[type="email"],
.go-auth-centered input[type="password"] {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 46px;
    border: 1px solid #b8cbc2;
    border-radius: 8px;
    padding: 8px 12px;
    margin-bottom: 14px;
}

.go-auth-centered input[name="code"] {
    font-size: 20px;
    letter-spacing: 4px;
    text-align: center;
}

.go-auth-centered button {
    width: 100%;
    margin-top: 16px;
    min-height: 42px;
    border: 1px solid #3F6F63;
    border-radius: 8px;
    background: #3F6F63;
    color: white;
    font-weight: 700;
    cursor: pointer;
}

.go-auth-centered .error {
    background: #fdecea;
    border: 1px solid #f5c2c0;
    color: #8a1f1f;
    padding: 10px 12px;
    border-radius: 8px;
    margin-bottom: 16px;
    font-size: 14px;
}

.go-auth-centered .status {
    background: #CFE3D7;
    border: 1px solid #A8CDBB;
    color: #3F6F63;
    padding: 10px 12px;
    border-radius: 8px;
    margin-bottom: 16px;
    font-size: 14px;
}

.go-auth-centered .resend-row {
    margin-top: 16px;
    text-align: center;
    font-size: 14px;
}

.go-auth-centered .resend-row button {
    width: auto;
    background: none;
    color: #3F6F63;
    border: none;
    font-weight: 700;
    text-decoration: underline;
    cursor: pointer;
    padding: 0;
    margin-top: 0;
}

.go-auth-centered .resend-row a {
    color: #3F6F63;
    font-weight: 700;
    text-decoration: underline;
}

@media (max-width: 560px) {
    .go-auth-body .login-mobile-only,
    .go-auth-body .login-mobile-only .login-page,
    .go-auth-body .login-mobile-only .login-shell,
    .go-auth-body .login-mobile-only .login-main,
    .go-auth-body .login-mobile-only .login-brand,
    .go-auth-body .login-mobile-only .login-wordmark,
    .go-auth-body .login-mobile-only .login-hero,
    .go-auth-body .login-mobile-only .login-form-wrap,
    .go-auth-body .login-mobile-only .feature-block,
    .go-auth-body .login-mobile-only .feature-grid,
    .go-auth-body .login-mobile-only .trust-panel,
    .go-auth-body .login-mobile-only .landscape,
    .go-auth-body .login-mobile-only form,
    .go-auth-body .login-mobile-only .field,
    .go-auth-body .login-mobile-only .field-control,
    .go-auth-body .login-mobile-only .field-control input,
    .go-auth-body .login-mobile-only .login-submit,
    .go-auth-body .login-mobile-only .signup-row {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .go-auth-body .login-mobile-only .login-wordmark {
        flex-wrap: wrap;
        justify-content: center;
    }

    .go-auth-body .login-mobile-only .feature-grid {
        gap: 12px;
    }

    .go-auth-body .login-mobile-only .feature-icon {
        width: min(56px, 18vw);
        height: min(56px, 18vw);
    }

    .go-auth-body .login-mobile-only .trust-panel {
        gap: 12px;
        padding: 14px;
    }

    .go-auth-body .login-mobile-only .trust-icon {
        width: min(48px, 14vw);
        height: min(48px, 14vw);
    }

    .go-auth-body .login-mobile-only .landscape-house {
        right: 6%;
        width: min(98px, 30vw);
        height: auto;
        aspect-ratio: 98 / 92;
    }
}

/* GO app shell migrated from ghm-ops layout */
/* Tokens */
:root {
    --go-bg: #F6F8FA;
    --go-surface: #FFFFFF;
    --go-surface-soft: #F9FAFB;
    --go-border: #DDE3EA;
    --go-text: #111827;
    --go-text-soft: #374151;
    --go-muted: #6B7280;
    --go-muted-light: #9CA3AF;
    --go-primary: #2F7D32;
    --go-primary-hover: #256628;
    --go-primary-soft: #E8F5E9;
    --go-action-primary-bg: #2F7D32;
    --go-action-primary-hover: #256628;
    --go-action-primary-text: #FFFFFF;
    --go-success: #16A34A;
    --go-success-soft: #DCFCE7;
    --go-danger: #D92D20;
    --go-danger-soft: #FEE2E2;
    --go-warning: #F59E0B;
    --go-warning-soft: #FEF3C7;
    --go-info: #2563EB;
    --go-info-soft: #DBEAFE;
    --go-row-hover: #F6F8FA;

    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-8: 32px;

    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --radius-pill: 999px;

    --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04);
    --shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08);

    --font-sans: Inter, "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --text-xs: 12px;
    --text-sm: 13px;
    --text-base: 14px;
    --text-md: 16px;
    --text-lg: 18px;
    --text-xl: 24px;
    --weight-normal: 400;
    --weight-medium: 500;
    --weight-semibold: 600;
    --weight-bold: 700;

    /* Shared aliases */
    --go-radius-sm: var(--radius-sm);
    --go-radius-md: var(--radius-md);
    --go-radius-lg: var(--radius-lg);
    --go-radius-pill: var(--radius-pill);
    --go-shadow-sm: var(--shadow-sm);
    --go-shadow-hover: var(--shadow-md);
    --go-control-height: 38px;
    --go-control-padding-x: 14px;
    --go-button-height: 34px;
    --go-button-padding-x: 12px;
    --go-button-font-size: 14px;
    --go-panel-padding: var(--space-4);
    --go-section-gap: var(--space-6);
    --go-table-cell-y: var(--space-3);
    --go-table-cell-x: var(--space-3);
    --mobile-shell-x: var(--space-4);
    --mobile-shell-y: var(--space-3);
    --mobile-nav-offset: var(--space-2);
    --mobile-nav-safe-height: calc(72px + env(safe-area-inset-bottom, 0px));
    --mobile-content-safe-bottom: calc(var(--mobile-nav-safe-height) + var(--space-6));
    --go-font-body-size: var(--text-base);
    --go-font-body-weight: var(--weight-normal);
    --go-font-page-title-size: var(--text-xl);
    --go-font-page-title-weight: var(--weight-bold);
    --go-font-section-title-size: var(--text-lg);
    --go-font-section-title-weight: var(--weight-semibold);
    --go-font-label-size: var(--text-sm);
    --go-font-label-weight: var(--weight-medium);
    --go-font-helper-size: var(--text-sm);
    --go-font-helper-weight: var(--weight-normal);
    --go-font-metric-label-size: var(--text-xs);
    --go-font-metric-label-weight: var(--weight-medium);
    --go-font-metric-value-size: var(--text-xl);
    --go-font-metric-value-weight: var(--weight-bold);
    --go-font-table-head-size: var(--text-sm);
    --go-font-table-head-weight: var(--weight-medium);
    --go-font-table-body-size: var(--text-sm);
    --go-font-table-body-weight: var(--weight-normal);
    --go-font-badge-size: var(--text-xs);
    --go-font-badge-weight: var(--weight-normal);
}
/* Base */
* { box-sizing: border-box; }
html { min-height: 100%; }
body {
    /* Backward-compatible token bridge */
    --go-bg: var(--page-bg, #F7F9FB);
    --go-surface: var(--paper, #FFFFFF);
    --go-surface-soft: color-mix(in srgb, var(--go-surface) 68%, var(--go-bg));
    --go-border: var(--line, #E5E7EB);
    --go-text: var(--ink, #111827);
    --go-text-soft: color-mix(in srgb, var(--go-text) 82%, white);
    --go-muted: var(--muted-ink, #6B7280);
    --go-muted-light: color-mix(in srgb, var(--go-muted) 72%, white);
    --go-primary: var(--green-dark, #2F7D32);
    --go-primary-hover: color-mix(in srgb, var(--go-primary) 84%, black);
    --go-primary-soft: var(--green-bg, #E8F5E9);
    --go-success: var(--green-dark, #16A34A);
    --go-success-soft: #DCFCE7;
    --go-danger: var(--warn, #D92D20);
    --go-danger-soft: #FEE2E2;
    --go-warning: #F59E0B;
    --go-warning-soft: #FEF3C7;
    --go-info: #2563EB;
    --go-info-soft: #DBEAFE;
    margin: 0;
    min-height: 100%;
    color: var(--go-text);
    background: var(--go-bg);
    font-family: var(--font-sans);
    font-size: var(--go-font-body-size);
    font-weight: var(--go-font-body-weight);
    line-height: 1.45;
}
body[data-ui-zoom="large"] {
    zoom: 1.04;
}
body[data-ui-zoom="small"] {
    zoom: 0.96;
}
a { color: var(--green-dark); text-decoration: none; }
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
/* Layout */
.app-shell {
    display: grid;
    grid-template-columns: 268px minmax(0, 1fr) 264px;
    grid-template-areas: "gotyou main side";
    min-height: 100vh;
}
body.got-you-mini .app-shell {
    grid-template-columns: 64px minmax(0, 1fr) 264px;
}
body.sidebar-mini .app-shell {
    grid-template-columns: 268px minmax(0, 1fr) 64px;
}
body.got-you-mini.sidebar-mini .app-shell {
    grid-template-columns: 64px minmax(0, 1fr) 64px;
}
/* Navigation */
.we-got-you-rail {
    grid-area: gotyou;
    align-self: stretch;
    min-height: 100vh;
    background: color-mix(in srgb, var(--side-bg) 96%, var(--page-bg));
    color: var(--side-text);
    border-right: 1px solid color-mix(in srgb, black 16%, var(--side-bg));
    padding: 84px 12px 18px;
}
.we-got-you-body {
    position: sticky;
    top: 18px;
    display: grid;
    align-content: start;
    gap: 12px;
    min-height: calc(100vh - 36px);
    max-height: calc(100vh - 36px);
    overflow-y: auto;
}
.we-got-you-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36px;
    align-items: center;
    gap: 8px;
}
.we-got-you-title,
.we-got-you-mini-link {
    display: flex;
    align-items: center;
    border: 1px solid color-mix(in srgb, var(--side-muted) 18%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--side-raised) 52%, transparent);
    color: var(--side-text);
    text-decoration: none;
}
.we-got-you-title {
    gap: 10px;
    min-width: 0;
    min-height: 48px;
    padding: 8px 10px;
}
.we-got-you-title:hover,
.we-got-you-mini-link:hover {
    background: var(--side-raised);
}
.we-got-you-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    min-width: 28px;
    height: 28px;
    border-radius: 8px;
    background: color-mix(in srgb, var(--go-primary) 18%, transparent);
    color: var(--go-primary);
}
.we-got-you-mark svg,
.we-got-you-toggle svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.we-got-you-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
}
.we-got-you-copy strong {
    overflow: hidden;
    font-size: 13px;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.we-got-you-copy small {
    color: var(--side-muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.1;
    text-transform: uppercase;
}
.we-got-you-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    min-width: 36px;
    min-height: 36px;
    border: 1px solid color-mix(in srgb, var(--side-muted) 18%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--side-raised) 52%, transparent);
    color: var(--side-text);
    padding: 0;
    cursor: pointer;
}
.we-got-you-toggle:hover {
    background: var(--side-raised);
}
.we-got-you-panel {
    display: grid;
    gap: 12px;
}
.we-got-you-quick-add {
    display: grid;
    gap: 8px;
    border: 1px solid color-mix(in srgb, var(--side-muted) 16%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--side-raised) 44%, transparent);
    padding: 10px;
}
.we-got-you-quick-add label {
    margin: 0;
}
.we-got-you-quick-add input,
.we-got-you-quick-add select {
    width: 100%;
    min-width: 0;
    min-height: 32px;
    border-color: color-mix(in srgb, var(--side-muted) 25%, transparent);
    background: var(--side-raised);
    color: var(--side-text);
    padding: 6px 8px;
    font-size: 12px;
}
.we-got-you-quick-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: 8px;
}
.we-got-you-quick-row:last-child {
    grid-template-columns: auto minmax(0, 1fr) auto;
}
.we-got-you-check {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--side-muted);
    font-size: 12px;
    font-weight: 700;
}
.we-got-you-check input {
    width: auto;
    min-height: 0;
}
.we-got-you-quick-add button,
.we-got-you-actions button {
    min-height: 32px;
    border-radius: 8px;
    padding: 0 10px;
    font-size: 11px;
    font-weight: 800;
}
.we-got-you-actions .we-got-you-icon-button {
    width: 32px;
    min-width: 32px;
    padding: 0;
}
.we-got-you-icon-button svg {
    width: 17px;
    height: 17px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.we-got-you-list {
    display: grid;
    gap: 8px;
}
.we-got-you-item {
    display: grid;
    gap: 7px;
    border: 1px solid color-mix(in srgb, var(--side-muted) 14%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--side-raised) 36%, transparent);
    padding: 9px;
}
.we-got-you-item.is-overdue {
    border-color: color-mix(in srgb, var(--go-danger) 35%, var(--side-muted));
}
.we-got-you-item a {
    display: grid;
    min-width: 0;
    gap: 3px;
    color: var(--side-text);
    text-decoration: none;
}
.we-got-you-item a strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.we-got-you-item a strong {
    font-size: 13px;
    line-height: 1.25;
}
.we-got-you-row,
.we-got-you-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.we-got-you-row {
    min-width: 0;
}
.we-got-you-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    color: var(--side-muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}
.we-got-you-category {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.we-got-you-meta time {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    white-space: nowrap;
}
.we-got-you-meta time::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: 3px;
    border-radius: 999px;
    background: currentColor;
    opacity: .75;
}
.we-got-you-meta span {
    color: var(--go-danger);
}
.we-got-you-meta .we-got-you-category {
    color: var(--side-muted);
}
.we-got-you-actions {
    flex: 0 0 auto;
    justify-content: flex-start;
    margin-left: auto;
}
.we-got-you-actions form {
    margin: 0;
}
.we-got-you-actions button {
    background: transparent;
    border-color: color-mix(in srgb, var(--side-muted) 22%, transparent);
    color: var(--side-text);
}
.we-got-you-actions button:hover {
    background: var(--side-raised);
    border-color: color-mix(in srgb, var(--side-muted) 36%, transparent);
}
.we-got-you-empty {
    border: 1px dashed color-mix(in srgb, var(--side-muted) 28%, transparent);
    border-radius: 8px;
    color: var(--side-muted);
    padding: 14px 10px;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}
.we-got-you-mini-link {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    min-height: 54px;
    padding: 8px 4px;
    text-align: center;
}
.we-got-you-mini-link span {
    color: var(--side-muted);
    font-size: 10px;
    font-weight: 800;
}
.we-got-you-mini-link strong {
    color: var(--side-text);
    font-size: 15px;
}
.we-got-you-mini-add {
    display: none;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border: 1px solid color-mix(in srgb, var(--side-muted) 18%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--go-primary) 18%, transparent);
    color: var(--side-text);
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}
.we-got-you-mini-add:hover {
    background: color-mix(in srgb, var(--go-primary) 26%, var(--side-raised));
}
body.got-you-mini .we-got-you-rail {
    padding: 84px 6px 18px;
}
body.got-you-mini .we-got-you-head {
    grid-template-columns: 1fr;
}
body.got-you-mini .we-got-you-title,
body.got-you-mini .we-got-you-panel {
    display: none;
}
body.got-you-mini .we-got-you-mini-link {
    display: flex;
}
body.got-you-mini .we-got-you-mini-add {
    display: flex;
}
body.got-you-mini .we-got-you-toggle {
    width: 100%;
}
body.got-you-mini .we-got-you-toggle svg {
    transform: rotate(180deg);
}
.side-nav {
    grid-area: side;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-height: 100vh;
    background: var(--side-bg);
    color: var(--side-text);
    border-left: 1px solid color-mix(in srgb, black 20%, var(--side-bg));
    padding: 18px 14px;
}
.side-nav-body {
    position: sticky;
    top: 18px;
    display: grid;
    align-content: start;
    gap: 18px;
    min-height: calc(100vh - 36px);
    max-height: calc(100vh - 36px);
    overflow-y: auto;
}
.brand-row {
    display: flex;
    align-items: center;
    gap: 10px;
    position: sticky;
    top: 0;
    z-index: 4;
    padding: 0 0 10px;
    background: color-mix(in srgb, var(--side-bg) 92%, transparent);
    backdrop-filter: blur(10px);
}
.brand-row a,
.mobile-brand {
    text-decoration: none;
}
.side-menu-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 40px;
    align-items: center;
    gap: 8px;
    margin: 2px 0 -2px;
}
.side-menu-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.side-rail-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    min-width: 40px;
    min-height: 34px;
    border: 1px solid color-mix(in srgb, var(--side-muted) 18%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--side-raised) 52%, transparent);
    color: var(--side-text);
    padding: 6px 8px;
    font-weight: 600;
    cursor: pointer;
}
.side-rail-toggle:hover {
    background: var(--side-raised);
}
.side-rail-toggle-icon {
    display: inline-grid;
    gap: 4px;
}
.side-rail-toggle-icon span {
    display: block;
    width: 16px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}
.menu-label-compact {
    display: none;
    text-transform: uppercase;
}
.brand {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid color-mix(in srgb, var(--side-muted) 18%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--side-raised) 72%, transparent);
    color: var(--side-text);
    font-weight: 600;
    padding: 12px;
}
.brand-wordmark {
    display: block;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.1;
    color: var(--side-text);
}
.side-kicker {
    display: inline-flex;
    width: fit-content;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(in srgb, var(--green-dark) 50%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--green-dark) 18%, transparent);
    color: white;
    padding: 0 10px;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
}
body[data-theme-mode="light"] .side-kicker {
    color: var(--ink);
}
.side-section-title {
    color: var(--side-muted);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}
.side-card {
    display: grid;
    gap: 10px;
    border: 1px solid color-mix(in srgb, var(--side-muted) 16%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--side-raised) 52%, transparent);
    padding: 10px;
}
.company-switcher label {
    color: var(--side-muted);
    font-size: 13px;
    text-transform: uppercase;
}
.company-switcher select {
    margin-top: 6px;
    min-height: 36px;
    border-color: color-mix(in srgb, var(--side-muted) 25%, transparent);
    background: var(--side-raised);
    color: var(--side-text);
}
.side-menu {
    display: grid;
    gap: 8px;
    padding: 0;
}
.side-topic {
    display: grid;
    gap: 4px;
}
.side-topic-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
    align-items: center;
}
.side-topic-link {
    min-width: 0;
    gap: 10px;
}
.side-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    min-width: 18px;
    height: 18px;
    color: currentColor;
}
.side-nav-icon svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.side-menu-copy {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.side-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    min-width: 32px;
    min-height: 32px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: var(--side-muted);
    padding: 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}
.side-toggle:hover {
    background: var(--side-raised);
    border-color: color-mix(in srgb, var(--side-muted) 20%, transparent);
    color: white;
}
.side-topic.is-open .side-toggle {
    color: var(--side-text);
    background: color-mix(in srgb, var(--green-dark) 18%, transparent);
}
.side-chevron {
    display: inline-block;
    transition: transform .14s ease;
}
.side-topic.is-open .side-chevron,
.side-menu-head.is-open .side-chevron {
    transform: rotate(90deg);
}
.side-submenu {
    display: none;
    gap: 4px;
    margin-left: 12px;
    padding-left: 10px;
    border-left: 1px solid color-mix(in srgb, var(--side-muted) 18%, transparent);
}
.side-topic.is-open .side-submenu {
    display: grid;
}
.side-view-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}
.side-view-switch a {
    justify-content: center;
    min-height: 28px;
    padding: 5px 8px;
    font-size: 12px;
}
.quick-actions {
    display: grid;
    gap: 8px;
}
.side-menu a,
.side-submenu a,
.quick-actions a,
.side-footer a,
.side-footer button {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 38px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: var(--side-text);
    padding: 9px 10px;
    font-weight: 500;
    cursor: pointer;
}
.side-menu a:hover,
.side-menu a.active,
.side-submenu a:hover,
.side-submenu a.active,
.quick-actions a:hover,
.side-footer a:hover,
.side-footer button:hover {
    background: var(--side-raised);
    border-color: color-mix(in srgb, var(--side-muted) 20%, transparent);
}
.side-submenu a {
    min-height: 30px;
    color: var(--side-muted);
    padding: 6px 9px;
    font-size: 13px;
    font-weight: 500;
}
.side-submenu a.active {
    color: white;
    background: color-mix(in srgb, var(--green-dark) 18%, transparent);
}
.quick-actions a {
    min-height: 34px;
    color: var(--side-muted);
    font-size: 14px;
    font-weight: 500;
}
.side-menu a.active {
    color: white;
    background: color-mix(in srgb, var(--side-raised) 90%, var(--green-dark));
    box-shadow: inset -4px 0 0 var(--green-dark);
}
body[data-theme-mode="light"] .side-menu a.active,
body[data-theme-mode="light"] .side-submenu a.active {
    color: var(--ink);
}
body[data-theme-mode="light"] .side-menu a.active {
    background: color-mix(in srgb, var(--green-dark) 8%, var(--paper));
}
body[data-theme-mode="light"] .side-submenu a.active {
    background: color-mix(in srgb, var(--green-dark) 10%, var(--paper));
}
body[data-theme-choice="modern"] .side-topic-link {
    border-radius: 10px;
}
body[data-theme-choice="modern"] .side-menu a.active {
    color: var(--go-text);
    background: color-mix(in srgb, var(--go-primary-soft) 72%, var(--go-surface));
    border-color: color-mix(in srgb, var(--go-primary) 18%, transparent);
    box-shadow: inset -4px 0 0 var(--go-primary);
}
body[data-theme-choice="modern"] .side-submenu {
    gap: 8px;
    margin-left: 10px;
    padding-left: 12px;
    border-left-color: color-mix(in srgb, var(--go-border) 75%, transparent);
}
body[data-theme-choice="modern"] .side-submenu a {
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid var(--go-border);
    border-radius: 10px;
    background: var(--go-surface);
    color: var(--go-text);
    font-weight: 600;
    box-shadow: 0 1px 1px rgba(0,0,0,.03);
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}
body[data-theme-choice="modern"] .side-submenu a:hover {
    background: #F9FAFB;
    border-color: color-mix(in srgb, var(--go-border) 88%, var(--go-primary));
    color: var(--go-text);
}
body[data-theme-choice="modern"] .side-submenu a.active {
    color: var(--go-primary);
    background: var(--go-primary-soft);
    border-color: color-mix(in srgb, var(--go-primary) 22%, var(--go-border));
}
.side-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    margin-top: auto;
    padding-top: 16px;
}
.side-footer-tools {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    flex-wrap: nowrap;
}
.side-footer-account {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    flex-wrap: nowrap;
}
.side-footer > .side-mode-icons,
.side-footer > .side-footer-tools,
.side-footer > .side-footer-account,
.side-footer > .side-settings-link,
.side-footer > .side-theme-toggle,
.side-footer > a,
.side-footer > .logout-form {
    width: auto;
    justify-self: end;
}
.side-footer > .logout-form button {
    width: auto;
}
.side-mode-icons {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    min-width: 36px;
    min-height: 32px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: var(--side-muted);
    padding: 0;
    cursor: pointer;
}
.side-settings-link,
.side-zoom-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    min-width: 36px;
    min-height: 32px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: var(--side-muted);
    padding: 0;
    cursor: pointer;
}
.side-search-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    min-width: 36px;
    min-height: 32px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: var(--side-muted);
    padding: 0;
    cursor: pointer;
}
.side-search-link svg,
.side-settings-link svg,
.side-zoom-toggle svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.side-search-link:hover,
.side-mode-icons:hover,
.side-settings-link:hover,
.side-zoom-toggle:hover {
    background: var(--side-raised);
    border-color: color-mix(in srgb, var(--side-muted) 20%, transparent);
}
.side-exit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    min-width: 36px;
    min-height: 32px;
    padding: 0;
}
.side-exit-button svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.side-mode-icons .theme-glyph {
    display: none;
}
body[data-theme-mode="light"] .side-mode-icons .theme-glyph-sun {
    display: block;
}
body[data-theme-mode="dark"] .side-mode-icons .theme-glyph-moon {
    display: block;
}
.side-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    min-width: 42px;
    min-height: 28px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: var(--side-text);
    padding: 0;
    cursor: pointer;
}
.side-theme-toggle:hover {
    background: var(--side-raised);
    border-color: color-mix(in srgb, var(--side-muted) 20%, transparent);
}
.theme-glyph {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: .95;
}
.theme-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
}
.theme-dot {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .35);
}
.theme-dot-green {
    background: #3F6F63;
}
.theme-dot-orange {
    background: #C55B1F;
}
.theme-dot-black-white {
    background: linear-gradient(135deg, #2A2A2A 0 50%, #9F9F9F 50% 100%);
}
.theme-dot-modern {
    background: linear-gradient(135deg, #2F7D32 0 50%, #E8F5E9 50% 100%);
}
body.sidebar-mini .side-nav {
    padding: 14px 6px;
}
body.sidebar-mini .brand-row {
    padding: 0 0 8px;
}
body.sidebar-mini .side-card,
body.sidebar-mini .side-section-title {
    display: none;
}
body.sidebar-mini .brand {
    padding: 8px 4px;
    justify-content: center;
}
body.sidebar-mini .brand-wordmark,
body.sidebar-mini .menu-label-full {
    display: none;
}
body.sidebar-mini .menu-label-compact {
    display: none;
}
body.sidebar-mini .side-menu-copy {
    display: none;
}
body.sidebar-mini .side-kicker {
    min-width: 38px;
    min-height: 38px;
    padding: 0 8px;
    font-size: 14px;
}
body.sidebar-mini .side-topic-head {
    grid-template-columns: 1fr;
}
body.sidebar-mini .side-menu-head {
    grid-template-columns: 1fr;
    margin: 0;
}
body.sidebar-mini .side-menu-title,
body.sidebar-mini [data-side-toggle-all] {
    display: none;
}
body.sidebar-mini .side-toggle,
body.sidebar-mini .side-submenu {
    display: none !important;
}
body.sidebar-mini .side-topic-link,
body.sidebar-mini .side-mode-icons,
body.sidebar-mini .side-footer-tools,
body.sidebar-mini .side-footer-account,
body.sidebar-mini .side-search-link,
body.sidebar-mini .side-settings-link,
body.sidebar-mini .side-theme-toggle,
body.sidebar-mini .side-footer a,
body.sidebar-mini .side-footer button,
body.sidebar-mini .side-rail-toggle {
    width: 100%;
    justify-content: center;
    padding: 8px 6px;
    text-align: center;
}
body.sidebar-mini .side-footer {
    display: grid;
    gap: 8px;
    margin-top: auto;
}
body.sidebar-mini .side-footer-tools {
    display: grid;
    gap: 8px;
    width: 100%;
}
body.sidebar-mini .side-footer-account {
    display: grid;
    gap: 8px;
    width: 100%;
}
body.sidebar-mini .side-footer > .side-mode-icons,
body.sidebar-mini .side-footer > .side-footer-tools,
body.sidebar-mini .side-footer > .side-footer-account,
body.sidebar-mini .side-footer > .side-search-link,
body.sidebar-mini .side-footer > .side-settings-link,
body.sidebar-mini .side-footer > .side-theme-toggle,
body.sidebar-mini .side-footer > a,
body.sidebar-mini .side-footer > .logout-form {
    width: 100%;
    justify-self: stretch;
}
body.sidebar-mini .side-footer > .logout-form button {
    width: 100%;
}
body.sidebar-mini .side-nav,
body.sidebar-mini .side-nav-body,
body.sidebar-mini .side-menu,
body.sidebar-mini .side-topic,
body.sidebar-mini .side-footer,
body.sidebar-mini .side-footer-tools,
body.sidebar-mini .side-footer-account,
body.sidebar-mini .logout-form {
    overflow: visible;
}
body.sidebar-mini .side-nav {
    position: relative;
    z-index: 80;
}
body.sidebar-mini [data-side-tooltip] {
    position: relative;
}
body.sidebar-mini [data-side-tooltip]::after,
body.sidebar-mini [data-side-tooltip]::before {
    position: absolute;
    top: 50%;
    z-index: 30;
    opacity: 0;
    pointer-events: none;
    transition: opacity .12s ease, transform .12s ease;
}
body.sidebar-mini [data-side-tooltip]::after {
    content: attr(data-side-tooltip);
    right: calc(100% + 10px);
    transform: translate(4px, -50%);
    width: max-content;
    max-width: 180px;
    border: 1px solid color-mix(in srgb, var(--side-muted) 26%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--side-raised) 94%, black 6%);
    color: var(--side-text);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .24);
    padding: 7px 10px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
}
body.sidebar-mini [data-side-tooltip]::before {
    content: "";
    right: calc(100% + 6px);
    transform: translate(4px, -50%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 1px solid color-mix(in srgb, var(--side-muted) 26%, transparent);
    border-right: 1px solid color-mix(in srgb, var(--side-muted) 26%, transparent);
    background: color-mix(in srgb, var(--side-raised) 94%, black 6%);
}
body.sidebar-mini [data-side-tooltip]:hover::after,
body.sidebar-mini [data-side-tooltip]:hover::before,
body.sidebar-mini [data-side-tooltip]:focus-visible::after,
body.sidebar-mini [data-side-tooltip]:focus-visible::before {
    opacity: 1;
    transform: translate(0, -50%);
}
body.sidebar-mini [data-side-tooltip]:hover::before,
body.sidebar-mini [data-side-tooltip]:focus-visible::before {
    transform: translate(0, -50%) rotate(45deg);
}
.logout-form { margin: 0; }
.app-main {
    grid-area: main;
    width: min(1220px, calc(100% - 32px));
    max-width: 100%;
    margin: 0 auto;
    padding: 28px 0 56px;
    overflow-x: hidden;
}
.desktop-top-shell {
    display: block;
    margin-bottom: 14px;
}
.app-back-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: -2px 0 10px;
}
.app-back-action {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    margin-left: auto;
}
.app-back-link,
.client-back-link {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    color: var(--go-muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}
.app-back-link:hover,
.client-back-link:hover {
    color: var(--go-primary);
}
.app-back-action-link {
    color: var(--go-muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}
.app-back-action-link:hover {
    color: var(--go-primary);
}
.desktop-app-header {
    display: block;
    margin-bottom: 0;
}
.desktop-app-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}
.desktop-header-primary {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    flex: 0 1 760px;
}
.desktop-header-primary .mobile-brand {
    flex: 0 1 auto;
    max-width: 260px;
}
.desktop-global-search {
    position: relative;
    flex: 0 1 300px;
    min-width: 220px;
}
.desktop-global-search label {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: center;
    min-height: 38px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    margin: 0;
}
.desktop-global-search [data-global-search-input] {
    width: 100%;
    min-width: 0;
    min-height: 36px;
    border: 0;
    background: transparent;
    color: var(--go-text);
    padding: 8px 12px 8px 0;
    font-size: 13px;
    line-height: 1.2;
}
.desktop-global-search [data-global-search-input]:focus {
    outline: none;
}
.desktop-global-search label:focus-within {
    border-color: color-mix(in srgb, var(--go-primary) 42%, var(--go-border));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--go-primary-soft) 72%, transparent);
}
.desktop-global-search-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    margin-inline: auto;
    color: var(--go-muted);
    pointer-events: none;
}
.desktop-global-search-icon svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.desktop-global-search-results {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 36;
    width: min(620px, calc(100vw - 72px));
    max-height: min(72vh, 760px);
    overflow-y: auto;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    box-shadow: 0 18px 42px rgba(15, 23, 42, .2);
}
.desktop-global-search-section {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    border-bottom: 1px solid var(--go-border);
}
.desktop-global-search-section:last-child {
    border-bottom: 0;
}
.desktop-global-search-section-label {
    border-right: 1px solid var(--go-border);
    background: color-mix(in srgb, var(--go-surface-muted) 62%, var(--go-surface));
    color: var(--go-muted);
    padding: 10px 12px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-align: right;
}
.desktop-global-search-section-items {
    display: grid;
    min-width: 0;
}
.desktop-global-search-result {
    display: grid;
    gap: 2px;
    min-width: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--go-border) 62%, transparent);
    color: var(--go-text);
    padding: 8px 12px;
    text-align: left;
    text-decoration: none;
}
.desktop-global-search-result:last-child {
    border-bottom: 0;
}
.desktop-global-search-result:hover,
.desktop-global-search-result:focus {
    background: var(--go-primary-soft);
    color: var(--go-text);
    outline: none;
}
.desktop-global-search-result span,
.desktop-global-search-result small {
    min-width: 0;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.desktop-global-search-result span {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
}
.desktop-global-search-result small {
    color: var(--go-muted);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.25;
}
.desktop-global-search-empty {
    color: var(--go-muted);
    padding: 12px;
    font-size: 13px;
    font-weight: 600;
    text-align: left;
}
.desktop-add-menu {
    position: relative;
    flex: 0 0 auto;
}
.desktop-add-menu summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--go-button-height);
    min-width: var(--go-button-height);
    min-height: var(--go-button-height);
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    color: var(--go-text);
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    list-style: none;
    user-select: none;
}
.desktop-add-menu summary::-webkit-details-marker {
    display: none;
}
.desktop-add-menu[open] summary,
.desktop-add-menu summary:hover {
    background: color-mix(in srgb, var(--go-primary-soft) 70%, var(--go-surface));
    border-color: color-mix(in srgb, var(--go-primary) 26%, var(--go-border));
    color: var(--go-primary);
}
.desktop-add-menu-panel {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 35;
    display: grid;
    gap: 2px;
    width: 190px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    padding: 10px;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .18);
    text-transform: uppercase;
}
.desktop-add-menu-panel strong {
    padding: 4px 8px 8px;
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.1;
    text-transform: uppercase;
}
.desktop-add-menu-panel a {
    display: flex;
    align-items: center;
    min-height: 34px;
    border-radius: 7px;
    color: var(--go-text);
    padding: 8px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}
.desktop-add-menu-panel a:hover {
    background: var(--go-primary-soft);
    color: var(--go-primary);
}
.desktop-account-stack,
.mobile-account-stack {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-width: 0;
    margin-left: auto;
    color: var(--go-text);
    text-align: right;
}
.desktop-account-email,
.mobile-account-email,
.desktop-account-company,
.mobile-account-company {
    min-width: 0;
    color: var(--go-text);
    font-size: 17px;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.desktop-account-company,
.mobile-account-company {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    font-weight: 500;
}
.desktop-account-company,
.mobile-account-company {
    color: var(--green-dark);
}
.desktop-account-company::before,
.mobile-account-company::before {
    content: "•";
    color: var(--go-primary);
}
.desktop-account-email {
    max-width: none;
    flex: 0 1 auto;
}
.desktop-account-stack {
    flex: 1 1 auto;
    max-width: none;
}
.mobile-top-shell,
.mobile-app-header,
.mobile-shortcuts,
.mobile-quick-tools,
.mobile-bottom-nav,
.mobile-more-backdrop,
.mobile-more-sheet {
    display: none;
}
.mobile-top-shell {
    position: sticky;
    top: 0;
    z-index: 22;
    margin-bottom: var(--space-3);
    padding: var(--space-2) 0 var(--space-2);
    background: color-mix(in srgb, var(--page-bg) 94%, transparent);
    backdrop-filter: blur(10px);
    transition: background .15s ease, box-shadow .15s ease;
}
.mobile-app-header {
    position: static;
    z-index: auto;
    margin-bottom: 0;
    padding: 0 0 2px;
    background: transparent;
    backdrop-filter: none;
    gap: 5px;
}
.mobile-app-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}
.mobile-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 auto;
    min-width: 0;
    color: var(--green-dark);
}
.mobile-brand-wordmark {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    width: 100%;
}
.mobile-brand-wordmark strong {
    font-size: 17px;
    font-weight: 500;
    line-height: 1;
}
.mobile-brand-sep {
    font-size: 17px;
    font-weight: 500;
    line-height: 1;
}
.mobile-page-title {
    min-width: 0;
    margin: 0;
    color: var(--green-dark);
    font-size: 17px;
    font-weight: 500;
    line-height: 1;
    flex: 1 1 auto;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mobile-app-header-main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1 1 auto;
    min-width: 0;
}
.mobile-account-email {
    max-width: none;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mobile-app-account-row {
    display: flex;
    min-width: 0;
    padding-left: calc(var(--go-button-height) + 10px);
}
.mobile-app-account-row .mobile-account-stack {
    justify-content: flex-start;
    width: 100%;
    margin-left: 0;
    text-align: left;
}
.mobile-app-account-row .mobile-account-email,
.mobile-app-account-row .mobile-account-company {
    font-size: 13px;
    line-height: 1.2;
}
.mobile-app-account-row .mobile-account-email {
    flex: 1 1 auto;
}
.mobile-app-account-row .mobile-account-company {
    flex: 0 0 auto;
    max-width: 46%;
}
.mobile-brand-wordmark .mobile-account-stack {
    margin-left: auto;
    text-align: right;
    flex: 0 1 min(46vw, 420px);
}
.mobile-shortcuts {
    gap: var(--space-2);
    margin: 8px 0 0;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scroll-padding-inline: var(--mobile-shell-x);
    padding-bottom: 2px;
    scrollbar-width: none;
}
.mobile-shortcuts::-webkit-scrollbar {
    display: none;
}
.mobile-shortcuts a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border: 1px solid var(--line);
    border-radius: var(--go-radius-md);
    background: var(--paper);
    color: var(--green-dark);
    padding: 0 12px;
    font-size: 11px;
    font-weight: 700;
    flex: 0 0 auto;
}
.mobile-shortcuts a:active {
    transform: translateY(1px);
}
.mobile-shortcuts a.active {
    background: color-mix(in srgb, var(--green-dark) 10%, var(--paper));
    border-color: color-mix(in srgb, var(--green-dark) 24%, var(--line));
}
body[data-theme-choice="modern"] .mobile-shortcuts a {
    border-color: var(--go-border);
    border-radius: 10px;
    background: var(--go-surface);
    color: var(--go-text);
    font-weight: 600;
    box-shadow: 0 1px 1px rgba(0,0,0,.03);
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}
body[data-theme-choice="modern"] .mobile-shortcuts a:hover {
    background: #F9FAFB;
    border-color: color-mix(in srgb, var(--go-border) 88%, var(--go-primary));
}
body[data-theme-choice="modern"] .mobile-shortcuts a.active {
    background: var(--go-primary-soft);
    border-color: color-mix(in srgb, var(--go-primary) 22%, var(--go-border));
    color: var(--go-primary);
}
.mobile-quick-tools {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 8px;
    margin: 8px 0 0;
}
.mobile-global-search {
    min-width: 0;
    width: 100%;
}
.mobile-global-search.desktop-global-search {
    flex: none;
    min-width: 0;
}
.mobile-global-search .desktop-global-search-results {
    left: 0;
    right: auto;
    width: min(100%, calc(100vw - (var(--mobile-shell-x) * 2)));
    max-height: min(62vh, 520px);
}
.mobile-global-search .desktop-global-search-section {
    grid-template-columns: 86px minmax(0, 1fr);
}
.mobile-add-menu.desktop-add-menu {
    flex: none;
}
.mobile-add-menu .desktop-add-menu-panel {
    left: auto;
    right: 0;
}
.mobile-bottom-nav {
    position: fixed;
    left: 50%;
    bottom: var(--mobile-nav-offset);
    right: auto;
    transform: translateX(-50%);
    z-index: 40;
    width: min(calc(100vw - (var(--mobile-shell-x) * 2)), 520px);
    max-width: calc(100vw - (var(--mobile-shell-x) * 2));
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 3px;
    border: 1px solid color-mix(in srgb, var(--line) 88%, transparent);
    border-radius: var(--go-radius-lg);
    background: color-mix(in srgb, var(--paper) 96%, transparent);
    backdrop-filter: blur(14px);
    padding: 4px 5px calc(4px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 10px 30px rgba(0, 0, 0, .1);
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.mobile-nav-link,
.mobile-nav-more {
    display: grid;
    justify-items: center;
    gap: 3px;
    min-height: 44px;
    border: 1px solid transparent;
    border-radius: var(--go-radius-md);
    background: transparent;
    color: var(--muted-ink);
    padding: 4px 2px;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
    transition: background .15s ease, border-color .15s ease, color .15s ease, transform .12s ease;
}
.mobile-nav-link svg,
.mobile-nav-more svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.mobile-nav-link.active,
.mobile-nav-more.active {
    color: var(--green-dark);
    background: color-mix(in srgb, var(--green-dark) 10%, var(--paper));
    border-color: color-mix(in srgb, var(--green-dark) 22%, transparent);
}
.mobile-nav-link:active,
.mobile-nav-more:active {
    transform: translateY(1px);
}
.mobile-more-backdrop {
    position: fixed;
    inset: 0;
    z-index: 38;
    background: rgba(11, 16, 18, .35);
}
.mobile-more-sheet {
    position: fixed;
    right: auto;
    bottom: calc(66px + env(safe-area-inset-bottom, 0px));
    left: 50%;
    width: min(860px, calc(100vw - 28px));
    z-index: 39;
    max-height: calc(100dvh - 82px);
    overflow-y: auto;
    border-radius: var(--go-radius-lg);
    background: color-mix(in srgb, var(--paper) 98%, var(--page-bg));
    border: 1px solid var(--line);
    box-shadow: 0 -16px 40px rgba(0, 0, 0, .12);
    padding: var(--space-4) var(--mobile-shell-x) calc(var(--space-5) + env(safe-area-inset-bottom, 0px));
    transform: translateX(-50%);
    transition: opacity .18s ease;
}
.mobile-more-sheet-head {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-bottom: 12px;
}
.mobile-more-sheet h2 {
    margin: 0;
    font-size: 16px;
}
.mobile-more-close {
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    border: 1px solid var(--line);
    border-radius: var(--go-radius-md);
    background: var(--paper);
    color: var(--green-dark);
    padding: 0;
}
.mobile-more-links {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.mobile-more-account-row {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.mobile-more-section {
    display: grid;
    grid-column: 1 / -1;
    gap: 10px;
    margin-top: 12px;
}
.mobile-more-section-title {
    margin: 0;
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.mobile-more-link,
.mobile-more-company {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 44px;
    border: 1px solid var(--line);
    border-radius: var(--go-radius-md);
    background: var(--paper);
    color: var(--ink);
    padding: 9px 12px;
    font-size: 14px;
    font-weight: 400;
}
.mobile-more-link.active {
    color: var(--green-dark);
    border-color: color-mix(in srgb, var(--green-dark) 22%, var(--line));
    background: color-mix(in srgb, var(--green-dark) 8%, var(--paper));
}
body[data-theme-choice="modern"] .mobile-more-link {
    border-color: var(--go-border);
    border-radius: 10px;
    background: var(--go-surface);
    color: var(--go-text);
    font-weight: 600;
    box-shadow: 0 1px 1px rgba(0,0,0,.03);
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}
body[data-theme-choice="modern"] .mobile-more-link:hover {
    background: #F9FAFB;
    border-color: color-mix(in srgb, var(--go-border) 88%, var(--go-primary));
}
body[data-theme-choice="modern"] .mobile-more-link.active {
    color: var(--go-primary);
    border-color: color-mix(in srgb, var(--go-primary) 22%, var(--go-border));
    background: var(--go-primary-soft);
}
.mobile-more-link:active,
.mobile-more-close:active {
    transform: translateY(1px);
}
.mobile-more-company {
    display: grid;
    gap: 8px;
    justify-content: stretch;
    align-content: center;
    min-width: 0;
    width: 100%;
}
.mobile-more-company label {
    display: grid;
    gap: 6px;
    width: 100%;
    color: var(--green-dark);
}
.mobile-more-company select {
    width: 100%;
    min-width: 0;
}
.mobile-more-company strong,
.mobile-more-account strong {
    color: var(--go-text);
    font-size: 14px;
    font-weight: 400;
}
.mobile-more-company span,
.mobile-more-account span {
    color: var(--go-muted);
    font-size: 14px;
    font-weight: 400;
}
.mobile-more-account {
    display: grid;
    align-content: center;
    gap: 4px;
    min-height: 48px;
    border: 1px solid var(--line);
    border-radius: var(--go-radius-md);
    background: var(--paper);
    padding: 10px 12px;
    min-width: 0;
    width: 100%;
}
.mobile-more-account strong,
.mobile-more-account span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mobile-more-action-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.mobile-more-action-grid .logout-form {
    margin: 0;
    min-width: 0;
}
.mobile-more-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    width: 100%;
    border: 1px solid var(--line);
    border-radius: var(--go-radius-md);
    background: var(--paper);
    color: var(--ink);
    padding: 9px 12px;
    font: inherit;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
    cursor: pointer;
}
.mobile-more-action span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mobile-more-action svg {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    margin-right: 8px;
}
.mobile-more-action.is-danger {
    color: var(--go-danger);
}
.mobile-got-you-card {
    display: none;
}
.mobile-more-got-you {
    grid-column: auto;
}
.mobile-more-got-you[open] {
    grid-column: 1 / -1;
}
.mobile-got-you-card summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    border: 1px solid var(--go-border);
    border-radius: 10px;
    background: var(--go-surface);
    color: var(--go-text);
    padding: 8px 10px;
    list-style: none;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.mobile-got-you-card summary::-webkit-details-marker {
    display: none;
}
.mobile-got-you-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
}
.mobile-got-you-copy strong,
.mobile-got-you-copy small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mobile-got-you-copy strong {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.15;
}
.mobile-got-you-copy small {
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 400;
    line-height: 1.1;
    text-transform: uppercase;
}
.mobile-got-you-panel {
    display: grid;
    gap: 10px;
    margin-top: 8px;
    border: 1px solid var(--go-border);
    border-radius: 10px;
    background: var(--go-surface);
    padding: 10px;
}
.mobile-got-you-card .we-got-you-quick-add,
.mobile-got-you-card .we-got-you-item {
    background: var(--go-surface-soft);
}
.mobile-got-you-card .we-got-you-quick-add input,
.mobile-got-you-card .we-got-you-quick-add select {
    background: var(--go-surface);
    color: var(--go-text);
}
.mobile-got-you-card .we-got-you-check,
.mobile-got-you-card .we-got-you-item a small,
.mobile-got-you-card .we-got-you-meta,
.mobile-got-you-card .we-got-you-empty {
    color: var(--go-muted);
}
.mobile-got-you-card .we-got-you-item a,
.mobile-got-you-card .we-got-you-actions button {
    color: var(--go-text);
}
.mobile-got-you-card .we-got-you-list {
    max-height: min(42vh, 360px);
    overflow-y: auto;
}
body[data-theme-choice="modern"] .mobile-more-account,
body[data-theme-choice="modern"] .mobile-more-company {
    border-color: var(--go-border);
    border-radius: 10px;
    background: var(--go-surface);
}
body[data-theme-choice="modern"] .mobile-more-action {
    border-color: var(--go-border);
    border-radius: 10px;
    background: var(--go-surface);
    color: var(--go-text);
    box-shadow: 0 1px 1px rgba(0,0,0,.03);
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}
body[data-theme-choice="modern"] .mobile-more-action:hover {
    background: #F9FAFB;
    border-color: color-mix(in srgb, var(--go-border) 88%, var(--go-primary));
}
body[data-theme-choice="modern"] .mobile-more-action.is-danger {
    color: var(--go-danger);
}
.button, button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--go-button-height);
    border: 1px solid var(--go-border);
    border-radius: var(--go-radius-sm);
    background: var(--go-surface);
    color: var(--go-text);
    padding: 0 var(--go-button-padding-x);
    font-size: var(--go-button-font-size);
    font-weight: 500;
    font-family: inherit;
    line-height: 1.2;
    letter-spacing: .01em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}
button, .button.primary {
    background: var(--go-action-primary-bg);
    color: var(--go-action-primary-text);
    border-color: var(--go-action-primary-bg);
}
button:hover, .button.primary:hover {
    background: var(--go-action-primary-hover);
    border-color: var(--go-action-primary-hover);
}
.side-footer button {
    justify-content: flex-start;
    background: transparent;
    color: var(--side-text);
    border-color: transparent;
}
h1 { margin: 0 0 var(--space-5); font-size: var(--go-font-page-title-size); font-weight: var(--go-font-page-title-weight); color: var(--green-dark); }
h2 { margin: var(--space-6) 0 var(--space-3); font-size: var(--go-font-section-title-size); font-weight: var(--go-font-section-title-weight); color: var(--green-dark); }
body[data-theme-choice="modern"] h1 {
    color: var(--go-text);
}
body[data-theme-choice="modern"] h2 {
    color: var(--go-muted);
}
.notice {
    border-left: 4px solid var(--green-mid);
    background: var(--notice-bg);
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-5);
}
body[data-theme-choice="modern"] .notice {
    border-left-color: var(--go-primary);
    background: color-mix(in srgb, var(--go-primary-soft) 45%, var(--go-surface));
    color: var(--go-muted);
    border-radius: 10px;
}
.grid {
    display: grid;
    gap: var(--space-4);
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
/* Panels + Metrics */
.metric, .panel {
    min-width: 0;
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    border-radius: var(--go-radius-md);
    padding: var(--go-panel-padding);
    box-shadow: var(--go-shadow-sm);
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
/* Shared pagination component. */
.app-pagination {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 10px;
}
.app-pagination__inner {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    min-height: 34px;
    padding: 4px 0;
    color: var(--muted-ink);
    font-size: 11px;
}
.app-pagination__sort {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--muted-ink);
    text-decoration: none;
    white-space: nowrap;
}
.app-pagination__sort:hover {
    color: var(--accent);
}
.app-pagination__summary {
    white-space: nowrap;
}
.app-pagination__arrows {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}
.app-pagination__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    color: var(--muted-ink);
    text-decoration: none;
    font-size: 16px;
    line-height: 1;
}
.app-pagination__arrow:hover {
    background: var(--panel-alt, color-mix(in srgb, var(--panel) 85%, var(--line)));
    color: var(--ink);
}
.app-pagination__arrow.is-disabled {
    opacity: .35;
    pointer-events: none;
}

@media (max-width: 680px) {
    .app-pagination {
        margin-bottom: 8px;
    }
    .app-pagination__inner {
        gap: 8px;
        width: 100%;
        justify-content: space-between;
    }
    .app-pagination__sort {
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* Shared form layout components. Page-specific <style> blocks that
   define their own .form-shell/.field-grid rules load later in the
   document and will override these by cascade order -- that's
   intentional, it lets pages customize without breaking others.
   New pages should use these directly instead of reinventing them. */
.form-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .45fr);
    gap: 20px;
    align-items: start;
}
.field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.field-grid .full {
    grid-column: 1 / -1;
}
@media (max-width: 960px) {
    .form-shell {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 680px) {
    .field-grid {
        grid-template-columns: 1fr;
    }
}
a.metric {
    color: var(--go-text);
    display: grid;
    gap: 8px;
}
a.metric:hover {
    box-shadow: var(--go-shadow-hover);
}
.metric {
    display: grid;
    gap: var(--space-2);
}
.metric-label {
    text-align: left;
    color: var(--go-muted);
    font-size: var(--go-font-metric-label-size);
    font-weight: var(--go-font-metric-label-weight);
}
.metric-value,
.metric strong {
    display: block;
    margin-top: 0;
    font-size: var(--go-font-metric-value-size);
    color: var(--go-text);
    font-weight: var(--go-font-metric-value-weight);
    text-align: center;
}
.metric-help,
.metric p,
.dashboard-kpi-help {
    margin: 0;
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    font-weight: var(--go-font-helper-weight);
    line-height: 1.4;
}
body[data-theme-choice="modern"] .metric-label {
    color: var(--go-muted);
}
.dashboard-top-metrics {
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
}
.dashboard-top-metrics:has(> .metric:only-child),
.dashboard-top-metrics:has(> .metric:nth-child(2):last-child),
.dashboard-top-metrics:has(> .metric:nth-child(3):last-child) {
    grid-template-columns: repeat(auto-fit, minmax(160px, max-content));
    justify-content: center;
}
.dashboard-summary-row:has(> .metric:nth-child(4):last-child) {
    grid-auto-columns: minmax(160px, max-content);
    justify-content: center;
}
.invoice-summary {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    grid-template-columns: none;
    align-items: stretch;
    justify-content: stretch;
}
.invoice-summary:has(> .metric:only-child),
.invoice-summary:has(> .metric:nth-child(2):last-child),
.invoice-summary:has(> .metric:nth-child(3):last-child) {
    grid-auto-columns: minmax(160px, max-content);
    justify-content: center;
}
.invoice-summary .metric {
    min-width: 0;
    container-type: inline-size;
}
.invoice-summary:has(> .metric:only-child) .metric,
.invoice-summary:has(> .metric:nth-child(2):last-child) .metric,
.invoice-summary:has(> .metric:nth-child(3):last-child) .metric {
    padding-inline: 16px;
    justify-items: center;
    text-align: center;
}
.invoice-summary:has(> .metric:only-child) .metric-label,
.invoice-summary:has(> .metric:nth-child(2):last-child) .metric-label,
.invoice-summary:has(> .metric:nth-child(3):last-child) .metric-label,
.invoice-summary:has(> .metric:only-child) .metric p,
.invoice-summary:has(> .metric:nth-child(2):last-child) .metric p,
.invoice-summary:has(> .metric:nth-child(3):last-child) .metric p {
    text-align: center;
}
.dashboard-top-metrics .metric {
    gap: 4px;
    padding: 8px 10px;
    min-height: 72px;
    container-type: inline-size;
}
.dashboard-top-metrics:has(> .metric:only-child) .metric,
.dashboard-top-metrics:has(> .metric:nth-child(2):last-child) .metric,
.dashboard-top-metrics:has(> .metric:nth-child(3):last-child) .metric,
.dashboard-summary-row:has(> .metric:nth-child(4):last-child) .metric {
    padding-inline: 16px;
    justify-items: center;
    text-align: center;
}
.dashboard-top-metrics .metric-label {
    text-align: center;
    font-size: var(--go-font-metric-label-size);
}
.dashboard-top-metrics:has(> .metric:only-child) .metric-label,
.dashboard-top-metrics:has(> .metric:nth-child(2):last-child) .metric-label,
.dashboard-top-metrics:has(> .metric:nth-child(3):last-child) .metric-label,
.dashboard-summary-row:has(> .metric:nth-child(4):last-child) .metric-label,
.dashboard-top-metrics:has(> .metric:only-child) .metric p,
.dashboard-top-metrics:has(> .metric:nth-child(2):last-child) .metric p,
.dashboard-top-metrics:has(> .metric:nth-child(3):last-child) .metric p,
.dashboard-summary-row:has(> .metric:nth-child(4):last-child) .metric p {
    text-align: center;
}
.dashboard-top-metrics .metric strong {
    font-size: 18px;
    line-height: 1.15;
}
.invoice-summary .metric strong {
    font-size: 18px;
}
/* Tables */
table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    overflow: visible;
}
th, td {
    padding: var(--go-table-cell-y) var(--go-table-cell-x);
    border-bottom: 1px solid var(--go-border);
    text-align: left;
    vertical-align: top;
}
.app-main table thead th,
.app-main table thead th a,
.app-main table thead th button,
.app-main table thead th span {
    font-size: var(--go-font-table-head-size);
    font-weight: var(--go-font-table-head-weight);
}
.app-main table tbody td,
.app-main table tbody td a,
.app-main table tbody td button,
.app-main table tbody td span,
.app-main table tbody td div,
.app-main table tbody td p {
    font-size: var(--go-font-table-body-size);
    font-weight: var(--go-font-table-body-weight);
}
th {
    color: var(--go-muted);
    background: color-mix(in srgb, var(--go-surface) 62%, var(--go-surface-soft));
}
tbody tr:last-child td { border-bottom: 0; }
tbody tr td { transition: background-color .16s ease; }
tbody tr:hover td { background: var(--go-row-hover); }
.table-wrap {
    width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    border-radius: var(--go-radius-md);
    background: var(--go-surface);
    border: 1px solid color-mix(in srgb, var(--go-border) 76%, var(--go-surface));
    box-shadow: var(--go-shadow-sm);
    -webkit-overflow-scrolling: touch;
    transition: border-color .16s ease, box-shadow .16s ease;
}
.table-wrap > table {
    min-width: 640px;
}
.table-wrap.table-wrap-tight > table {
    min-width: 0;
}
.table-wrap.is-column-resizable {
    position: relative;
}
.table-wrap.is-column-resizable thead th {
    position: relative;
    overflow: visible !important;
}
.column-resize-handle {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 20;
    width: 14px;
    cursor: col-resize;
    touch-action: none;
    user-select: none;
}
.table-title-with-reset {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.table-column-reset {
    flex: 0 0 auto;
    min-width: 26px;
    min-height: 26px;
    padding: 2px 7px;
    border: 1px solid var(--go-border);
    border-radius: 7px;
    background: var(--go-surface);
    color: var(--go-muted);
    font-size: 16px;
    line-height: 1;
}
.table-column-reset:hover,
.table-column-reset:focus-visible {
    border-color: var(--go-primary);
    color: var(--go-primary);
}
.table-reset-bar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 6px;
}
.column-resize-handle::after {
    content: "";
    position: absolute;
    top: 7px;
    right: 5px;
    bottom: 7px;
    width: 3px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .46);
    opacity: 0;
    transition: opacity .14s ease, background-color .14s ease;
}
.column-resize-handle:focus-visible::after,
.column-resize-handle:hover::after {
    opacity: .22;
}
body[data-theme-mode="dark"] .column-resize-handle::after {
    background: rgba(0, 0, 0, .46);
}
body.is-column-resizing {
    cursor: col-resize;
    user-select: none;
}
body.is-column-resizing * {
    cursor: col-resize !important;
}
/* Forms */
form.stack {
    display: grid;
    gap: var(--space-4);
    max-width: 860px;
}
.filter-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 10px;
    margin-bottom: 18px;
}
.filter-toolbar label {
    margin: 0;
}
.filter-search-field {
    flex: 1 1 340px;
    min-width: min(340px, 100%);
}
.filter-compact-field {
    flex: 0 1 180px;
    min-width: 150px;
    max-width: 210px;
}
.filter-medium-field {
    flex: 1 1 240px;
    min-width: 200px;
    max-width: 320px;
}
.filter-actions {
    display: inline-flex;
    align-items: end;
    gap: 8px;
    flex-wrap: wrap;
    margin-left: auto;
}
body[data-theme-choice="modern"] .filter-toolbar {
    gap: 12px;
}
body[data-theme-choice="modern"] .filter-toolbar label {
    color: var(--go-text);
}
.filter-actions .button,
.filter-actions button {
    white-space: nowrap;
}
label { display: grid; gap: 6px; font-size: var(--go-font-label-size); font-weight: var(--go-font-label-weight); color: var(--go-text-soft); }
input:not([type="checkbox"]):not([type="radio"]), select, textarea {
    width: 100%;
    min-height: var(--go-control-height);
    border: 1px solid var(--go-border);
    border-radius: var(--go-radius-sm);
    padding: var(--space-2) 10px;
    color: var(--go-text);
    background: var(--go-surface);
    font: inherit;
    font-weight: 400;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.go-app-body input[type="time"]::-webkit-calendar-picker-indicator {
    display: none;
    -webkit-appearance: none;
}
.go-app-body input[type="date"],
.go-app-body input[type="datetime-local"],
.go-app-body input[type="month"] {
    cursor: pointer;
}
.go-app-body input[type="date"]::-webkit-calendar-picker-indicator,
.go-app-body input[type="datetime-local"]::-webkit-calendar-picker-indicator,
.go-app-body input[type="month"]::-webkit-calendar-picker-indicator {
    display: block;
    cursor: pointer;
    opacity: .78;
}

/* Go.GoGOs-controlled date and time picker; all selection colors come from the active theme. */
.go-custom-picker-ready input.go-picker-source::-webkit-calendar-picker-indicator { display: none !important; -webkit-appearance: none; }
.go-picker-overlay { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 18px; background: color-mix(in srgb, #000 48%, transparent); }
.go-picker-overlay[hidden] { display: none; }
.go-picker-dialog { width: min(680px, 100%); max-height: min(720px, calc(100vh - 36px)); overflow: hidden; border: 1px solid var(--go-border); border-radius: 14px; background: var(--go-surface); color: var(--go-text); box-shadow: 0 24px 70px rgba(0,0,0,.35); }
.go-picker-head, .go-picker-actions, .go-picker-month-nav { display: flex; align-items: center; }
.go-picker-head { justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--go-border); }
.go-picker-head strong { font-size: 16px; }
.go-picker-close, .go-picker-month-nav button { width: 36px; height: 36px; padding: 0; border: 1px solid var(--go-border); border-radius: 9px; background: var(--go-surface-soft); color: var(--go-text); font-size: 22px; line-height: 1; cursor: pointer; }
.go-picker-content { display: grid; grid-template-columns: minmax(300px, 1fr) minmax(150px, .55fr); min-height: 360px; }
.go-picker-calendar { padding: 16px; }
.go-picker-calendar[hidden], .go-picker-times[hidden] { display: none; }
.go-picker-calendar[hidden] + .go-picker-times { grid-column: 1 / -1; }
.go-picker-month-nav { justify-content: space-between; margin-bottom: 12px; }
.go-picker-weekdays, .go-picker-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.go-picker-weekdays span { padding: 6px 0; color: var(--go-muted); font-size: 11px; font-weight: 800; text-align: center; text-transform: uppercase; }
.go-picker-day, .go-picker-time { border: 1px solid transparent; background: transparent; color: var(--go-text); cursor: pointer; }
.go-picker-day { aspect-ratio: 1; border-radius: 9px; }
.go-picker-day:hover, .go-picker-time:hover { border-color: color-mix(in srgb, var(--go-primary) 36%, var(--go-border)); background: var(--go-primary-soft); }
.go-picker-day.is-outside { color: var(--go-muted); opacity: .55; }
.go-picker-day.is-today { border-color: var(--go-primary); }
.go-picker-day.is-selected, .go-picker-time.is-selected { border-color: var(--go-primary); background: var(--go-primary); color: var(--button-text); font-weight: 800; }
.go-picker-day:disabled { opacity: .25; cursor: not-allowed; }
.go-picker-times { max-height: 420px; overflow-y: auto; padding: 12px; border-left: 1px solid var(--go-border); background: color-mix(in srgb, var(--go-surface-soft) 76%, var(--go-surface)); scrollbar-gutter: stable; }
.go-picker-time { display: block; width: 100%; margin: 2px 0; padding: 9px 10px; border-radius: 8px; text-align: center; }
.go-picker-actions { gap: 8px; padding: 12px 16px; border-top: 1px solid var(--go-border); }
.go-picker-actions > span { flex: 1; }
body.go-picker-open { overflow: hidden; }
@media (max-width: 620px) {
    .go-picker-content { grid-template-columns: 1fr; overflow-y: auto; max-height: calc(100vh - 170px); }
    .go-picker-times { max-height: 220px; border-top: 1px solid var(--go-border); border-left: 0; }
}
input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: color-mix(in srgb, var(--go-primary) 55%, var(--go-border));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--go-primary-soft) 55%, transparent);
}
input[type="checkbox"],
input[type="radio"] {
    width: 16px;
    height: 16px;
    min-height: 16px;
    margin: 0;
    flex: 0 0 auto;
    accent-color: var(--green-dark);
}
.check-row {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--ink);
    font-weight: 500;
}
textarea {
    min-height: 104px;
    padding-top: 10px;
    padding-bottom: 10px;
}
.help-text,
.field-help,
.input-help {
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    font-weight: var(--go-font-helper-weight);
    line-height: 1.4;
}
.actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--space-2);
    align-items: center;
    margin-bottom: var(--space-5);
}
.app-main > .actions {
    position: sticky;
    top: 0;
    z-index: 12;
    background: color-mix(in srgb, var(--page-bg) 92%, transparent);
    backdrop-filter: blur(10px);
    padding: 10px 0 12px;
    margin-top: -10px;
}
body.nav-pending *,
body.nav-pending *::before,
body.nav-pending *::after {
    animation: none !important;
    transition: none !important;
}
body.nav-pending .brand-row,
body.nav-pending .mobile-top-shell,
body.nav-pending .mobile-bottom-nav,
body.nav-pending .app-main > .actions {
    backdrop-filter: none !important;
}
body.nav-pending .mobile-more-backdrop,
body.nav-pending .mobile-more-sheet {
    display: none !important;
}
.actions h1 {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.actions:has(> h1:only-child) {
    display: none;
}
.actions form {
    margin: 0;
}
body[data-theme-choice="modern"] [class$="-page-header"],
body[data-theme-choice="modern"] [class$="-form-header"],
body[data-theme-choice="modern"] [class$="-show-header"] {
    gap: 16px;
}
body[data-theme-choice="modern"] [class$="-page-header-copy"] h1,
body[data-theme-choice="modern"] [class$="-form-header-copy"] h1,
body[data-theme-choice="modern"] [class$="-show-header-copy"] h1 {
    margin: 0;
    font-size: 30px;
    line-height: 1.1;
    color: var(--go-text);
}
body[data-theme-choice="modern"] [class$="-page-header-copy"] p,
body[data-theme-choice="modern"] [class$="-form-header-copy"] p,
body[data-theme-choice="modern"] [class$="-show-header-copy"] p {
    margin: 8px 0 0;
    color: var(--go-muted);
    font-size: 14px;
}
body[data-theme-choice="modern"] [class$="-page-header-actions"],
body[data-theme-choice="modern"] [class$="-form-header-actions"],
body[data-theme-choice="modern"] [class$="-show-header-actions"] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
body[data-theme-choice="modern"] [class$="-page-header-actions"] .button,
body[data-theme-choice="modern"] [class$="-page-header-actions"] .button-chip,
body[data-theme-choice="modern"] [class$="-page-header-actions"] .go-action-button,
body[data-theme-choice="modern"] [class$="-form-header-actions"] .button,
body[data-theme-choice="modern"] [class$="-form-header-actions"] .button-chip,
body[data-theme-choice="modern"] [class$="-form-header-actions"] .go-action-button,
body[data-theme-choice="modern"] [class$="-show-header-actions"] .button,
body[data-theme-choice="modern"] [class$="-show-header-actions"] .button-chip,
body[data-theme-choice="modern"] [class$="-show-header-actions"] .go-action-button,
body[data-theme-choice="modern"] [class$="-panel-actions"] .go-action-button,
body[data-theme-choice="modern"] [class$="-form-actions"] .go-action-button {
    min-height: var(--go-button-height);
    padding-inline: var(--go-button-padding-x);
    border-radius: var(--go-radius-sm);
    font-weight: 600;
}
body[data-theme-choice="modern"] [class$="-filter-card"] {
    display: grid;
    gap: 16px;
    padding: 16px;
    border-radius: 10px;
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
body[data-theme-choice="modern"] [class$="-table-shell"] .table-wrap,
body[data-theme-choice="modern"] .report-table-wrap.table-wrap,
body[data-theme-choice="modern"] .campaign-queue-body .table-wrap {
    border-radius: 10px;
    overflow: hidden;
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
/* Badges */
.status { text-transform: capitalize; font-weight: 700; }
.status.open,
.status.due_on_receipt { color: var(--warn); }
.status.partial { color: var(--warn); }
.status.failed { color: var(--warn); }
.status.paid,
.status.sent,
.status.invoiced,
.status.closed { color: var(--green-dark); }
.badge,
.badge-success,
.badge-warning,
.badge-danger,
.badge-neutral,
.badge-primary,
.button.badge-button,
button.badge-button,
.button.button-chip,
button.button-chip,
.go-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    border-radius: 7px;
    padding: 4px 9px;
    font-size: var(--go-font-label-size);
    font-weight: var(--go-font-badge-weight);
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    border: 1px solid var(--go-border);
}
.badge,
.go-status-pill {
    text-transform: uppercase;
    letter-spacing: .03em;
}
.go-status-pill {
    min-height: 24px;
    border-radius: 7px;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .02em;
}
a.go-status-pill,
.go-status-pill:is(a) {
    text-decoration: none;
}
.badge.good,
.badge-success,
.badge.success,
.go-status-pill.is-good,
.go-status-pill.is-success,
.go-status-pill.is-paid {
    border-color: color-mix(in srgb, var(--go-success) 18%, var(--go-success-soft));
    background: var(--go-success-soft);
    color: var(--go-success);
}
.badge.warning,
.badge-warning,
.go-status-pill.is-warning,
.go-status-pill.is-partial {
    border-color: color-mix(in srgb, var(--go-warning) 24%, var(--go-warning-soft));
    background: var(--go-warning-soft);
    color: var(--go-warning);
}
.badge.danger,
.badge-danger {
    border-color: color-mix(in srgb, var(--go-danger) 18%, var(--go-danger-soft));
    background: var(--go-danger-soft);
    color: var(--go-danger);
}
.go-status-pill.is-due,
.go-status-pill.is-failed,
.go-status-pill.is-bad-debt,
.go-status-pill.is-danger {
    border-color: color-mix(in srgb, var(--go-danger) 18%, var(--go-danger-soft));
    background: color-mix(in srgb, var(--go-danger-soft) 72%, var(--go-surface));
    color: var(--go-danger);
}
.badge.neutral,
.badge-neutral,
.go-status-pill.is-neutral,
.go-status-pill.is-off {
    border-color: var(--go-border);
    background: var(--go-surface-soft);
    color: var(--go-muted);
}
.badge-primary,
.go-status-pill.is-primary,
.go-status-pill.is-invoiced,
.go-status-pill.is-on,
.go-status-pill.is-open {
    border-color: color-mix(in srgb, var(--go-primary) 20%, var(--go-primary-soft));
    background: color-mix(in srgb, var(--go-primary-soft) 68%, var(--go-surface));
    color: var(--go-primary);
}
/* Buttons */
.button.badge-button,
button.badge-button,
.button.button-chip,
button.button-chip,
.btn,
.btn-primary,
.btn-secondary,
.go-action-button {
    white-space: nowrap;
    width: auto;
    flex: 0 0 auto;
    box-shadow: 0 1px 1px rgba(0,0,0,.03);
}
.btn,
.go-action-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--go-button-height);
    padding: 0 var(--go-button-padding-x);
    border: 1px solid var(--go-border);
    border-radius: var(--go-radius-sm);
    background: var(--go-surface);
    color: var(--go-text);
    font-size: var(--go-button-font-size);
    font-weight: 400;
    font-family: inherit;
    line-height: 1.2;
    letter-spacing: .01em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    transition: background 150ms ease, border-color 150ms ease, color 150ms ease, box-shadow 150ms ease;
}
.btn:disabled,
.btn[disabled],
.go-action-button:disabled,
.go-action-button[disabled] {
    opacity: .58;
    cursor: not-allowed;
    box-shadow: none;
}
button.badge-button,
button.button-chip {
    background: var(--go-action-primary-bg);
    color: var(--go-action-primary-text);
    border-color: var(--go-action-primary-bg);
}
button.badge-button:hover,
button.button-chip:hover {
    background: var(--go-action-primary-hover);
    border-color: var(--go-action-primary-hover);
}
.button.badge-button,
.button.button-chip {
    background: var(--go-surface);
    color: var(--go-text);
    border-color: var(--go-border);
}
.button.badge-button:hover,
.button.button-chip:hover {
    background: #F9FAFB;
    border-color: color-mix(in srgb, var(--go-border) 88%, var(--go-primary));
}
.btn:hover,
.go-action-button:hover {
    background: var(--go-bg);
    border-color: color-mix(in srgb, var(--go-border) 88%, var(--go-primary));
}
.btn-primary,
.go-action-button.is-primary {
    background: var(--go-action-primary-bg);
    color: var(--go-action-primary-text);
    border-color: var(--go-action-primary-bg);
}
.btn-primary:hover,
.go-action-button.is-primary:hover {
    background: var(--go-action-primary-hover);
    border-color: var(--go-action-primary-hover);
}
.go-action-button.is-prominent {
    min-width: 170px;
    box-shadow: 0 8px 18px rgba(47, 125, 50, 0.16);
}
.btn-secondary,
.go-action-button.is-utility {
    background: var(--go-bg);
    border-color: color-mix(in srgb, var(--go-text) 22%, var(--go-border));
    color: var(--go-text);
    font-weight: 500;
}
.btn-secondary:hover,
.go-action-button.is-utility:hover {
    background: color-mix(in srgb, var(--go-bg) 82%, var(--go-surface));
    border-color: color-mix(in srgb, var(--go-text) 30%, var(--go-border));
}
.btn-danger,
.go-action-button.is-danger {
    background: color-mix(in srgb, var(--go-danger-soft) 72%, var(--go-surface));
    border-color: color-mix(in srgb, var(--go-danger) 18%, var(--go-danger-soft));
    color: var(--go-danger);
    font-weight: 500;
}
.btn-danger:hover,
.go-action-button.is-danger:hover {
    background: color-mix(in srgb, var(--go-danger-soft) 88%, var(--go-surface));
    border-color: color-mix(in srgb, var(--go-danger) 26%, var(--go-danger-soft));
}
.go-action-button.is-compact {
    min-height: 28px;
    padding-inline: 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 7px;
}
.go-action-button.is-quiet-danger {
    background: transparent;
    color: var(--go-danger);
    border-color: color-mix(in srgb, var(--go-danger) 28%, var(--go-border));
    font-weight: 500;
}
.go-action-button.is-quiet-danger:hover {
    background: color-mix(in srgb, var(--go-danger-soft) 55%, var(--go-surface));
    border-color: color-mix(in srgb, var(--go-danger) 32%, var(--go-border));
}
.legacy-action-bar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}
.legacy-action-button,
.legacy-action-menu summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    border: 1px solid var(--go-border);
    border-radius: 4px;
    background: color-mix(in srgb, var(--go-surface) 88%, var(--go-bg));
    color: var(--go-text);
    padding: 6px 12px;
    font-size: var(--go-button-font-size);
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    list-style: none;
    box-shadow: 0 1px 1px rgba(15, 23, 42, .06);
    user-select: none;
}
.legacy-action-menu summary,
.legacy-action-menu-panel {
    text-transform: uppercase;
}
.legacy-action-menu {
    position: relative;
}
.legacy-action-menu summary::-webkit-details-marker {
    display: none;
}
.legacy-action-menu summary::after {
    content: "";
    width: 0;
    height: 0;
    margin-left: 7px;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
}
.legacy-action-button:hover,
.legacy-action-menu[open] summary,
.legacy-action-menu summary:hover {
    border-color: color-mix(in srgb, var(--go-primary) 28%, var(--go-border));
    background: color-mix(in srgb, var(--go-primary-soft) 54%, var(--go-surface));
    color: var(--go-text);
}
.legacy-action-menu-panel {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 36;
    display: grid;
    min-width: 180px;
    border: 1px solid var(--go-border);
    border-radius: 4px;
    background: var(--go-surface);
    padding: 6px 0;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .18);
}
.legacy-action-menu:last-child .legacy-action-menu-panel {
    right: 0;
    left: auto;
}
.legacy-action-menu-panel a,
.legacy-action-menu-panel button {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 32px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--go-text);
    padding: 7px 12px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.2;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}
.legacy-action-menu-panel form {
    margin: 0;
}
.legacy-action-menu-panel a:hover,
.legacy-action-menu-panel button:hover {
    background: color-mix(in srgb, var(--go-primary-soft) 78%, var(--go-surface));
    color: var(--go-primary);
}
body[data-theme-mode="dark"] .legacy-action-button,
body[data-theme-mode="dark"] .legacy-action-menu summary {
    background: color-mix(in srgb, var(--go-surface) 82%, var(--go-bg));
    border-color: var(--go-border);
    color: var(--go-text);
    box-shadow: none;
}
body[data-theme-mode="dark"] .legacy-action-button:hover,
body[data-theme-mode="dark"] .legacy-action-menu[open] summary,
body[data-theme-mode="dark"] .legacy-action-menu summary:hover {
    background: color-mix(in srgb, var(--go-primary-soft) 28%, var(--go-surface));
    border-color: color-mix(in srgb, var(--go-primary) 36%, var(--go-border));
    color: var(--go-text);
}
body[data-theme-mode="dark"] .legacy-action-menu-panel {
    background: var(--go-surface);
    border-color: var(--go-border);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .36);
}
body[data-theme-mode="dark"] .legacy-action-menu-panel a,
body[data-theme-mode="dark"] .legacy-action-menu-panel button {
    color: var(--go-text);
}
body[data-theme-mode="dark"] .legacy-action-menu-panel a:hover,
body[data-theme-mode="dark"] .legacy-action-menu-panel button:hover {
    background: color-mix(in srgb, var(--go-primary-soft) 32%, var(--go-surface));
    color: var(--go-primary);
}
body[data-theme-choice="modern"] [class$="-filter-card"] .filter-actions .go-action-button {
    min-height: var(--go-button-height);
    padding-inline: var(--go-button-padding-x);
    border-radius: var(--go-radius-sm);
}
body[data-theme-choice="modern"] [class$="-modal-foot"] .go-action-button,
body[data-theme-choice="modern"] .ticket-line-toolbar-actions .go-action-button,
body[data-theme-choice="modern"] .ticket-lines-editor-actions .go-action-button,
body[data-theme-choice="modern"] .ticket-lines-foot .go-action-button,
body[data-theme-choice="modern"] .form-footer-actions .go-action-button {
    min-height: var(--go-button-height);
    padding-inline: var(--go-button-padding-x);
    border-radius: var(--go-radius-sm);
    box-shadow: none;
}
.go-stack-lg {
    display: grid;
    gap: var(--go-section-gap);
}
.go-stack-md {
    display: grid;
    gap: 16px;
}
.go-filter-card,
.go-panel {
    display: grid;
    gap: 16px;
    padding: var(--go-panel-padding);
    border-radius: var(--go-radius-md);
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    box-shadow: var(--go-shadow-sm);
}
.go-panel-secondary {
    background: color-mix(in srgb, var(--go-bg) 44%, var(--go-surface));
    border-color: color-mix(in srgb, var(--go-border) 84%, var(--go-surface));
    box-shadow: none;
}
body[data-theme-choice="modern"] .button.badge-button,
body[data-theme-choice="modern"] .button.button-chip,
body[data-theme-choice="modern"] .go-action-button {
    box-shadow: 0 1px 1px rgba(0,0,0,.03);
}
.table-action-cell {
    text-align: center;
    vertical-align: middle;
}
.table-action-cell > .button,
.table-action-cell > button,
.table-action-cell > a,
.table-action-cell > span,
.table-action-cell > form {
    margin-inline: auto;
}
.table-action-cell > form {
    display: inline-flex;
    justify-content: center;
}
.table-action-cell .table-actions {
    justify-content: center;
}
.empty-state {
    color: var(--muted-ink);
    font-style: italic;
    font-size: var(--go-font-helper-size);
    font-weight: var(--go-font-helper-weight);
}
.helper {
    font-size: var(--go-font-helper-size);
    font-weight: var(--go-font-helper-weight);
    line-height: 1.5;
}
.money { white-space: nowrap; }
body[data-theme-choice="modern"] .helper,
body[data-theme-choice="modern"] .empty-state {
    color: var(--go-muted);
}
.line-grid {
    display: grid;
    grid-template-columns: minmax(170px, 1.4fr) minmax(180px, 1.6fr) 90px 110px 110px 90px;
    gap: 8px;
    align-items: end;
}
/* Responsive */
@media (max-width: 960px) {
    :root {
        --go-font-body-size: 13px;
        --mobile-shell-x: var(--space-4);
        --mobile-shell-y: var(--space-3);
        --mobile-nav-offset: var(--space-2);
        --mobile-nav-safe-height: calc(62px + env(safe-area-inset-bottom, 0px));
        --mobile-content-safe-bottom: calc(var(--mobile-nav-safe-height) + var(--space-6));
    }
    .go-app-html,
    body {
        overflow-x: hidden;
    }
    body {
        padding-bottom: var(--mobile-content-safe-bottom);
    }
    .app-shell {
        width: 100%;
        max-width: 100%;
        grid-template-columns: 1fr;
        grid-template-areas: "main";
        overflow-x: clip;
    }
    body.got-you-mini .app-shell,
    body.sidebar-mini .app-shell,
    body.got-you-mini.sidebar-mini .app-shell {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "main";
    }
    .we-got-you-rail,
    .side-nav {
        display: none;
    }
    .app-main {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        margin: 0;
        padding: var(--mobile-shell-y) var(--mobile-shell-x) var(--mobile-content-safe-bottom);
    }
    .desktop-top-shell,
    .desktop-app-header {
        display: none;
    }
    .mobile-app-header,
    .mobile-top-shell,
    .mobile-quick-tools,
    .mobile-bottom-nav {
        display: grid;
    }
    .mobile-more-sheet .mobile-got-you-card {
        display: block;
        margin-top: 0;
    }
    body.mobile-more-open .mobile-more-backdrop,
    body.mobile-more-open .mobile-more-sheet {
        display: block;
    }
    .mobile-primary-title {
        display: none;
    }
    .mobile-brand {
        max-width: 100%;
    }
    .mobile-top-shell {
        margin-inline: calc(var(--mobile-shell-x) * -1);
        padding: calc(env(safe-area-inset-top, 0px) + var(--space-2)) var(--mobile-shell-x) var(--space-2);
    }
    .grid {
        grid-template-columns: 1fr;
    }
    .dashboard-top-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }
    .line-grid {
        grid-template-columns: 1fr;
    }
    .actions {
        align-items: center;
        overflow-x: auto;
        padding-bottom: 2px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .app-main > .actions {
        top: 0;
        padding-top: 6px;
        margin-top: -6px;
    }
    .actions h1 {
        width: 100%;
        margin-bottom: 0;
    }
    .actions > .button,
    .actions > button,
    .actions > form {
        width: auto;
        flex: 0 0 auto;
    }
    .actions > .button,
    .actions > button,
    .actions > form > button {
        white-space: nowrap;
    }
    .actions > form > button {
        width: auto;
    }
    .app-main table thead th,
    .app-main table thead th a,
    .app-main table thead th button,
    .app-main table thead th span {
        font-size: var(--go-font-table-head-size);
        font-weight: var(--go-font-table-head-weight);
    }
    .app-main table tbody td,
    .app-main table tbody td a,
    .app-main table tbody td button,
    .app-main table tbody td span,
    .app-main table tbody td div,
    .app-main table tbody td p {
        font-size: var(--go-font-table-body-size);
        font-weight: var(--go-font-table-body-weight);
    }
}
@media (max-width: 680px) {
    :root {
        --go-font-page-title-size: 23px;
        --go-font-section-title-size: 17px;
        --go-font-metric-value-size: 22px;
        --mobile-shell-x: var(--space-3);
        --mobile-shell-y: var(--space-3);
    }
    h1 {
        font-size: var(--go-font-page-title-size);
    }
    h2 {
        font-size: var(--go-font-section-title-size);
    }
    .metric,
    .panel {
        padding: 14px;
    }
    .filter-toolbar {
        gap: 8px;
    }
    .filter-search-field,
    .filter-compact-field,
    .filter-medium-field {
        flex: 1 1 100%;
        min-width: 0;
        max-width: none;
    }
    .filter-compact-field select {
        font-size: 13px;
        line-height: 1.2;
    }
    .filter-actions {
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
    }
    .dashboard-top-metrics .metric {
        padding: 9px 10px;
        min-height: 68px;
    }
    .dashboard-summary-row .metric {
        gap: 4px;
        padding: 9px 10px;
        min-height: 68px;
    }
    .invoice-summary {
        gap: 8px;
    }
    .dashboard-summary-row {
        grid-auto-flow: row;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-columns: unset;
        justify-content: stretch;
    }
    .metric strong {
        font-size: 22px;
    }
    .dashboard-top-metrics .metric strong {
        font-size: 14px;
        font-size: clamp(12px, 16cqi, 15px);
        line-height: 1.1;
        overflow-wrap: anywhere;
    }
    .dashboard-summary-row .metric-label {
        text-align: center;
        font-size: 12px;
    }
    .invoice-summary .metric strong {
        font-size: 18px;
    }
    .dashboard-summary-row .metric strong {
        font-size: 14px;
        font-size: clamp(12px, 16cqi, 15px);
        line-height: 1.1;
        overflow-wrap: anywhere;
    }
    .dashboard-summary-row .metric p {
        text-align: center;
    }
    .mobile-page-title,
    .mobile-brand-wordmark strong {
        font-size: 16px;
    }
    .mobile-bottom-nav {
        width: calc(100vw - (var(--mobile-shell-x) * 2));
        max-width: calc(100vw - (var(--mobile-shell-x) * 2));
    }
    .mobile-nav-link,
    .mobile-nav-more {
        font-size: 9px;
    }
    .table-wrap.mobile-cards {
        overflow: visible;
    }
    .table-wrap.mobile-cards > table {
        min-width: 0;
        border: 0;
        background: transparent;
    }
    .table-wrap.mobile-cards thead,
    .table-wrap.mobile-cards tfoot {
        display: none;
    }
    .table-wrap.mobile-cards tbody,
    .table-wrap.mobile-cards tr,
    .table-wrap.mobile-cards td {
        display: block;
        width: 100%;
    }
    .table-wrap.mobile-cards tbody {
        display: grid;
        gap: 12px;
    }
    .table-wrap.mobile-cards tr {
        border: 1px solid var(--line);
        border-radius: 8px;
        background: var(--paper);
        padding: 10px 12px;
    }
    .table-wrap.mobile-cards td {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        padding: 8px 0;
        border-bottom: 1px solid var(--line);
        text-align: right;
    }
    .table-wrap.mobile-cards td:last-child {
        border-bottom: 0;
    }
    .table-wrap.mobile-cards td::before {
        content: attr(data-label);
        color: var(--muted-ink);
        font-size: 13px;
        font-weight: 400;
        text-align: left;
    }
    .table-wrap.mobile-cards td[colspan] {
        display: block;
        text-align: left;
    }
    .table-wrap.mobile-cards td[colspan]::before {
        content: none;
    }
    .table-wrap.mobile-cards td > .badge,
    .table-wrap.mobile-cards td > a,
    .table-wrap.mobile-cards td > span,
    .table-wrap.mobile-cards td > div,
    .table-wrap.mobile-cards td > form {
        margin-left: auto;
    }
    .report-unresolved-tickets-table.table-wrap.mobile-cards {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
    }
    .report-unresolved-tickets-table.table-wrap.mobile-cards > table {
        display: table;
        width: 100%;
        min-width: 1180px;
        table-layout: fixed;
        border: 1px solid var(--line);
        background: var(--paper);
    }
    .report-unresolved-tickets-table.table-wrap.mobile-cards thead {
        display: table-header-group;
    }
    .report-unresolved-tickets-table.table-wrap.mobile-cards tbody {
        display: table-row-group;
    }
    .report-unresolved-tickets-table.table-wrap.mobile-cards tr {
        display: table-row;
        border: 0;
        border-radius: 0;
        background: transparent;
        padding: 0;
    }
    .report-unresolved-tickets-table.table-wrap.mobile-cards th,
    .report-unresolved-tickets-table.table-wrap.mobile-cards td {
        display: table-cell;
        width: auto;
        border-bottom: 1px solid var(--line);
        padding: 10px 12px;
        text-align: left;
        white-space: nowrap;
    }
    .report-unresolved-tickets-table.table-wrap.mobile-cards td::before {
        content: none;
    }
    .report-unresolved-tickets-table.table-wrap.mobile-cards td > .badge,
    .report-unresolved-tickets-table.table-wrap.mobile-cards td > a,
    .report-unresolved-tickets-table.table-wrap.mobile-cards td > span,
    .report-unresolved-tickets-table.table-wrap.mobile-cards td > div,
    .report-unresolved-tickets-table.table-wrap.mobile-cards td > form {
        margin-left: 0;
    }
    .mobile-app-header {
        margin-bottom: 12px;
    }
    .mobile-page-title {
        font-size: 18px;
    }
    .mobile-account-stack {
        max-width: min(42vw, 360px);
    }
    .mobile-app-account-row .mobile-account-stack {
        max-width: none;
    }
    .mobile-more-sheet {
        padding-right: 14px;
        padding-left: 14px;
    }
    .mobile-more-links {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .mobile-more-action-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
    }
    .mobile-more-got-you {
        grid-column: span 2;
    }
    .mobile-more-got-you[open] {
        grid-column: 1 / -1;
    }
    .mobile-more-section {
        grid-column: 1 / -1;
    }
    .mobile-more-link {
        justify-content: space-between;
        min-height: 46px;
        text-align: left;
    }
    .mobile-more-action {
        justify-content: center;
        min-height: 42px;
        gap: 4px;
        padding: 7px 5px;
        font-size: 11px;
        text-align: center;
    }
    .mobile-more-action svg {
        width: 15px;
        height: 15px;
        margin-right: 0;
    }
}


/* Clients list page migrated from resources/views/ghm-ops/clients/index.blade.php */
.clients-page {
    display: grid;
    gap: 22px;
}
.clients-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 2px 0 0;
}
.clients-header-copy h1 {
    margin: 0;
    font-size: 32px;
    line-height: 1.1;
    color: var(--go-text);
    letter-spacing: 0;
}
.clients-header-copy p {
    margin: 10px 0 0;
    max-width: 720px;
    color: var(--go-muted);
    font-size: 14px;
    line-height: 1.55;
}
.clients-header-actions {
    flex: 0 0 auto;
}
.clients-filter-card {
    display: grid;
    gap: 14px;
    padding: 16px;
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.clients-filter-card > .app-pagination {
    justify-self: end;
}
.clients-filter-card .filter-toolbar {
    margin: 0;
    align-items: end;
}
.clients-filter-card .app-pagination {
    padding-top: 2px;
}
.clients-filter-card .filter-search-field {
    position: relative;
    display: grid;
    gap: 6px;
    font-weight: 600;
    color: var(--go-text);
}
.clients-filter-card .filter-search-field input {
    margin-top: 0;
}
.clients-search-results[hidden] {
    display: none;
}
.clients-search-results {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 5;
    display: grid;
    gap: 0;
    max-height: 320px;
    overflow: auto;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12);
}
.clients-search-option {
    display: grid;
    gap: 3px;
    width: 100%;
    padding: 10px 12px;
    border: 0;
    border-bottom: 1px solid var(--go-border);
    background: transparent;
    color: var(--go-text);
    text-align: left;
    cursor: pointer;
}
.clients-search-option:last-child {
    border-bottom: 0;
}
.clients-search-option:hover,
.clients-search-option.is-active {
    background: var(--go-bg);
}
.clients-search-option strong {
    font-size: 13px;
    font-weight: 700;
    color: var(--go-text);
    text-align: left;
}
.clients-search-option span {
    color: var(--go-muted);
    font-size: 11px;
    line-height: 1.35;
    text-align: left;
}
.clients-search-empty {
    padding: 10px 12px;
    color: var(--go-muted);
    font-size: 11px;
}
.clients-table-shell {
    display: grid;
    gap: 8px;
}
.clients-table-topline {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}
.clients-table-count {
    color: var(--go-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.clients-sort-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid var(--go-border);
    border-radius: 7px;
    background: var(--go-surface);
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
}
.clients-sort-link:hover {
    border-color: color-mix(in srgb, var(--go-primary) 36%, var(--go-border));
    color: var(--go-primary);
}
.clients-mobile-page {
    display: none;
}
.clients-mobile-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--go-muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}
.clients-mobile-topline a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid var(--go-border);
    border-radius: 7px;
    background: var(--go-surface);
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
}
.clients-mobile-topline-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    min-width: 0;
}
.clients-mobile-list {
    display: none;
    gap: 12px;
}
.client-mobile-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    min-height: 76px;
    padding: 16px;
    border: 1px solid var(--go-border);
    border-radius: 14px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    color: var(--go-text);
    text-decoration: none;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease;
}
.client-mobile-call-row {
    grid-template-columns: minmax(0, 1fr) 20ch;
    gap: 8px;
    min-height: 44px;
    padding: 8px;
    border-radius: 9px;
}
.client-mobile-name-link,
.client-mobile-phone,
.client-mobile-city {
    min-width: 0;
    overflow: hidden;
    color: var(--go-text);
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.client-mobile-name-link {
    display: block;
    line-height: 1.2;
}
.client-mobile-name-link strong,
.client-mobile-name-link span {
    display: inline;
    line-height: 1.2;
}
.client-mobile-name-link strong {
    font-size: 12px;
    font-weight: 800;
}
.client-mobile-name-link span {
    margin-left: 5px;
    color: var(--go-muted);
    font-size: 11px;
}
.client-mobile-phone {
    justify-self: end;
    width: 20ch;
    overflow: visible;
    text-overflow: clip;
    font-size: 12px;
    font-weight: 700;
    text-align: right;
}
.client-mobile-phone.is-empty,
.client-mobile-city {
    color: var(--go-muted);
}
.client-mobile-city {
    font-size: 11px;
}
.client-mobile-action-form {
    display: inline-flex;
    margin: 0;
}
.client-mobile-action-form .client-row-action {
    min-width: 0;
    min-height: 28px;
    padding-inline: 7px;
    font-size: 9px;
}
.client-mobile-row:active {
    transform: scale(0.995);
}
.client-mobile-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: color-mix(in srgb, var(--go-primary-soft) 82%, var(--go-surface));
    color: var(--go-primary);
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    flex: 0 0 44px;
}
.client-mobile-main {
    display: grid;
    gap: 6px;
    min-width: 0;
}
.client-mobile-title {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    min-width: 0;
}
.client-mobile-title strong {
    min-width: 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--go-text);
}
.client-mobile-subtitle,
.client-mobile-contact,
.client-mobile-meta {
    color: var(--go-muted);
    font-size: 12px;
    line-height: 1.45;
}
.client-mobile-subtitle,
.client-mobile-contact {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.client-mobile-contact {
    color: var(--go-text-soft);
    font-size: 13px;
    font-weight: 500;
}
.client-mobile-side {
    display: grid;
    justify-items: end;
    align-content: center;
    gap: 8px;
}
.client-mobile-chevron {
    color: var(--go-muted-light);
    line-height: 1;
}
.client-mobile-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.client-mobile-stat {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 7px;
    background: color-mix(in srgb, var(--go-surface-soft) 80%, var(--go-surface));
    border: 1px solid var(--go-border);
    color: var(--go-text-soft);
    font-size: var(--go-font-badge-size);
    font-weight: var(--go-font-badge-weight);
    text-transform: uppercase;
}
.clients-mobile-empty {
    padding: 22px 18px;
    border: 1px solid var(--go-border);
    border-radius: 14px;
    background: var(--go-surface);
    color: var(--go-muted);
    text-align: center;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.clients-mobile-pagination {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}
.clients-mobile-pagination a,
.clients-mobile-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid var(--go-border);
    border-radius: 7px;
    background: var(--go-surface);
    color: var(--go-muted);
    text-decoration: none;
}
.clients-mobile-pagination a {
    color: var(--go-primary);
}
.clients-mobile-pagination .is-disabled {
    opacity: .45;
}
.clients-table-shell .table-wrap {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    overflow: hidden;
}
.clients-table-shell thead th {
    color: var(--go-muted);
    font-weight: 600;
    background: transparent;
    font-size: 12px;
    padding-top: 14px;
    padding-bottom: 14px;
}
.clients-table-shell thead th:nth-child(4),
.clients-table-shell thead th:nth-child(5),
.clients-table-shell thead th:nth-child(6),
.clients-table-shell thead th:nth-child(7) {
    text-align: center;
}
@media (min-width: 961px) {
    .clients-table-shell table {
        table-layout: fixed;
    }
    .clients-table-shell th:nth-child(1) { width: 23%; }
    .clients-table-shell th:nth-child(2) { width: 18%; }
    .clients-table-shell th:nth-child(3) { width: 14%; }
    .clients-table-shell th:nth-child(4) { width: 10%; }
    .clients-table-shell th:nth-child(5) { width: 8%; }
    .clients-table-shell th:nth-child(6) { width: 8%; }
    .clients-table-shell th:nth-child(7) { width: 9%; }
}
.clients-table-shell tbody td {
    padding-top: 10px;
    padding-bottom: 10px;
    vertical-align: top;
    color: var(--go-text);
}
.clients-table-shell tbody tr:hover td {
    background: #F3F4F6;
}
.client-name-cell {
    display: grid;
    gap: 3px;
    width: 100%;
}
.client-name-cell a {
    display: block;
    color: var(--go-text);
    font-weight: 700;
    font-size: 13px;
    line-height: 1.35;
    text-decoration: none;
    transition: color .15s ease;
    max-width: 26ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.client-name-cell a:hover {
    color: var(--go-primary);
}
.client-subtitle {
    color: var(--go-muted);
    font-size: 12px;
    line-height: 1.4;
    max-width: 24ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.client-row-action {
    min-height: 30px;
    padding-inline: 12px;
    font-size: 11px;
}
.client-contact-cell {
    display: grid;
    gap: 3px;
    width: 100%;
    align-content: start;
}
.client-contact-primary {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--go-text);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
    max-width: 16ch;
    text-decoration: none;
}
.client-city-cell {
    color: var(--go-muted);
    line-height: 1.4;
}
.campaign-status-cell,
.client-tags-cell,
.client-count-cell,
.client-actions-cell {
    text-align: center;
}
.campaign-tag-icons {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    white-space: nowrap;
}
.campaign-tag-icons > * {
    flex: 0 0 auto;
}
.campaign-tag-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: 1px solid var(--go-border);
    border-radius: 7px;
    background: color-mix(in srgb, var(--go-primary-soft) 85%, var(--go-surface));
    color: var(--go-primary);
}
.campaign-tag-icon::after {
    content: attr(data-tooltip);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 8px);
    transform: translateX(-50%);
    min-width: max-content;
    max-width: 180px;
    padding: 6px 8px;
    border-radius: 6px;
    background: #111827;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.3;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.22);
    transition: opacity .14s ease, visibility .14s ease;
    z-index: 3;
}
.campaign-tag-icon:hover::after,
.campaign-tag-icon:focus-visible::after {
    opacity: 1;
    visibility: visible;
}
.campaign-tag-icon svg {
    width: 14px;
    height: 14px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.client-count-cell {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: 13px;
    color: var(--go-text);
}
.client-actions-cell {
    white-space: nowrap;
}
.client-row-action-form {
    display: inline-flex;
    margin: 0 0 0 6px;
    vertical-align: middle;
}
.clients-empty-state {
    padding: 22px 16px !important;
    color: var(--go-muted);
    text-align: center;
}
@media (min-width: 961px) {
    .clients-table-shell tbody tr.client-row-clickable {
        cursor: pointer;
    }
    .clients-table-shell tbody tr.client-row-clickable:hover td {
        background: #EEF2F7;
    }
}
body[data-theme-choice="modern"] .clients-page {
    gap: 22px;
}
body[data-theme-choice="modern"] .clients-header-copy h1 {
    color: var(--go-text);
}
body[data-theme-choice="modern"] .clients-header-copy p {
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .clients-filter-card,
body[data-theme-choice="modern"] .clients-table-shell .table-wrap {
    background: var(--go-surface);
    border-color: var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
body[data-theme-choice="modern"] .clients-table-shell thead th {
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .client-name-cell a,
body[data-theme-choice="modern"] .client-contact-primary {
    color: var(--go-text);
}
body[data-theme-choice="modern"] .client-subtitle,
body[data-theme-choice="modern"] .client-city-cell {
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .campaign-tag-icon {
    background: color-mix(in srgb, var(--go-primary-soft) 88%, var(--go-surface));
    border-color: var(--go-border);
    color: var(--go-primary);
}
@media (max-width: 960px) {
    .clients-page {
        gap: 16px;
    }
    .clients-header,
    .clients-table-shell,
    .client-page-links {
        display: none;
    }
    .clients-filter-card {
        gap: 12px;
        padding: 14px;
    }
    .clients-filter-card .filter-toolbar {
        gap: 12px;
    }
    .clients-filter-card .filter-search-field,
    .clients-filter-card .filter-actions {
        grid-column: 1 / -1;
    }
    .clients-filter-card .filter-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        gap: 10px;
    }
    .clients-filter-card .filter-actions .go-action-button {
        min-height: 44px;
    }
    .clients-table-shell .mobile-cards td[data-label="Name"] .client-name-cell,
    .clients-table-shell .mobile-cards td[data-label="Contact"] .client-contact-cell {
        justify-items: end;
        text-align: right;
    }
    .clients-mobile-page,
    .clients-mobile-list {
        display: grid;
    }
    .clients-mobile-page {
        gap: 12px;
    }
}
@media (max-width: 680px) {
    .clients-filter-card .filter-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .client-mobile-row {
        padding: 14px;
        gap: 10px;
    }
    .client-mobile-call-row {
        grid-template-columns: minmax(0, 1fr) 20ch;
        gap: 6px;
        padding: 8px;
    }
    .client-mobile-row,
    .client-mobile-side {
        align-items: start;
    }
    .client-mobile-title strong {
        font-size: 14px;
    }
    .client-mobile-side {
        display: none;
    }
}


/* Tickets list page migrated from resources/views/ghm-ops/job-tickets/index.blade.php */
.tickets-page {
    display: grid;
    gap: 14px;
}
.ticket-index-summary {
    width: min(100%, 352px);
    grid-auto-flow: row;
    grid-auto-columns: unset;
    grid-template-columns: repeat(3, minmax(92px, 1fr));
    justify-content: stretch;
    gap: 8px;
    max-width: none;
    margin: 0;
}
.ticket-index-summary .metric {
    padding: 7px 10px;
    min-height: 48px;
    text-align: center;
    justify-items: center;
    align-content: center;
    gap: 4px;
}
.ticket-index-summary .metric strong {
    font-size: 14px;
}
.ticket-index-summary .metric-label {
    font-size: 12px;
    text-align: center;
}
.tickets-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.tickets-page-header-copy h1 {
    margin: 0;
    color: var(--go-text);
}
.tickets-page-header-copy p {
    margin: 4px 0 0;
    color: var(--go-muted);
}
.ticket-header-status-form,
.appointment-header-status-form {
    flex: 0 0 170px;
    margin-left: auto;
}
.ticket-header-status-form label,
.appointment-header-status-form label {
    margin: 0;
}
.ticket-header-status-form select,
.appointment-header-status-form select {
    min-height: 34px;
    padding-top: 6px;
    padding-bottom: 6px;
}
.ticket-summary-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    justify-self: end;
    min-width: 0;
    margin-left: 0;
    margin-top: -4px;
}
.ticket-table-shell {
    display: grid;
    gap: 8px;
}
.ticket-table-count {
    justify-self: end;
    margin: 0 12px -2px 0;
    padding: 4px 9px;
    border-radius: 6px;
    background: color-mix(in srgb, var(--go-bg) 72%, var(--go-surface));
    color: var(--go-muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.15;
    text-transform: uppercase;
}
.ticket-page-links,
.invoice-page-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0;
    margin-top: 4px;
}
.ticket-page-link,
.invoice-page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 34px;
    padding: 6px 11px;
    border: 1px solid var(--go-border);
    border-right-width: 0;
    background: var(--go-surface);
    color: var(--go-primary);
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
}
.ticket-page-link:first-child,
.invoice-page-link:first-child {
    border-radius: 7px 0 0 7px;
}
.ticket-page-link:last-child,
.invoice-page-link:last-child {
    border-right-width: 1px;
    border-radius: 0 7px 7px 0;
}
.ticket-page-link.is-active,
.invoice-page-link.is-active {
    background: color-mix(in srgb, var(--go-primary-soft) 42%, var(--go-surface));
    color: var(--go-text);
}
.ticket-page-link.is-disabled,
.ticket-page-link.is-gap,
.invoice-page-link.is-disabled,
.invoice-page-link.is-gap {
    color: var(--go-muted);
    cursor: default;
}
.ticket-page-link.is-disabled,
.invoice-page-link.is-disabled {
    background: color-mix(in srgb, var(--go-bg) 62%, var(--go-surface));
}
.ticket-page-link:not(.is-disabled):not(.is-gap):hover,
.invoice-page-link:not(.is-disabled):not(.is-gap):hover {
    background: color-mix(in srgb, var(--go-primary-soft) 46%, var(--go-surface));
}
.ticket-mobile-list {
    display: none;
    gap: 12px;
}
.ticket-mobile-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    min-height: 88px;
    padding: 16px;
    border: 1px solid var(--go-border);
    border-radius: 14px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    color: var(--go-text);
    text-decoration: none;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease;
}
.ticket-mobile-row:active {
    transform: scale(0.995);
}
.ticket-mobile-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: color-mix(in srgb, var(--go-warning-soft) 52%, var(--go-surface));
    color: #f97316;
    flex: 0 0 44px;
}
.ticket-mobile-icon.is-invoiced {
    background: color-mix(in srgb, var(--go-primary-soft) 56%, var(--go-surface));
    color: var(--go-primary);
}
.ticket-mobile-icon.is-resolved {
    background: color-mix(in srgb, var(--go-success-soft) 54%, var(--go-surface));
    color: var(--go-success);
}
.ticket-mobile-main {
    display: grid;
    gap: 3px;
    min-width: 0;
}
.ticket-mobile-title {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.ticket-mobile-title strong {
    min-width: 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--go-text);
}
.ticket-mobile-client {
    min-width: 0;
    color: var(--go-text-soft);
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ticket-mobile-meta,
.ticket-mobile-issue {
    color: var(--go-muted);
    font-size: 12px;
    line-height: 1.45;
}
.ticket-mobile-meta {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ticket-mobile-issue {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ticket-mobile-side {
    display: grid;
    justify-items: end;
    align-content: center;
    gap: 10px;
    min-height: 100%;
}
.ticket-mobile-chevron {
    color: var(--go-muted-light);
    line-height: 1;
}
.ticket-mobile-empty {
    padding: 22px 18px;
    border: 1px solid var(--go-border);
    border-radius: 14px;
    background: var(--go-surface);
    color: var(--go-muted);
    text-align: center;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.ticket-table-shell .table-wrap {
    border-radius: 10px;
    overflow: hidden;
}
.ticket-table-shell table {
    table-layout: fixed;
    width: 100%;
}
.ticket-table-shell thead th:nth-child(1) {
    width: 118px;
}
.ticket-table-shell thead th:nth-child(2) {
    width: 270px;
}
.ticket-table-shell thead th:nth-child(4) {
    width: 110px;
}
.ticket-table-shell thead th:nth-child(5) {
    width: 110px;
}
.ticket-table-shell thead th:nth-child(6) {
    width: 120px;
}
.ticket-table-shell thead th {
    color: var(--go-muted);
    background: transparent;
    padding-top: 10px;
    padding-bottom: 10px;
}
.ticket-table-shell thead th:nth-child(4),
.ticket-table-shell thead th:nth-child(5),
.ticket-table-shell thead th:nth-child(6) {
    text-align: center;
}
.ticket-table-shell tbody td {
    padding-top: 10px;
    padding-bottom: 10px;
    vertical-align: middle;
    color: var(--go-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ticket-table-shell tbody tr:hover td {
    background: #ECEFF3;
}
.ticket-cell-main {
    min-width: 0;
}
.ticket-cell-main a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--go-text);
    font-weight: 800;
    line-height: 1.35;
    text-decoration: none;
    transition: color .15s ease;
}
.ticket-cell-main a:hover {
    color: var(--go-primary);
}
.ticket-client-cell a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--go-text);
    font-weight: 600;
    text-decoration: none;
}
.ticket-client-cell a:hover {
    color: var(--go-primary);
}
.ticket-date-cell,
.ticket-priority-cell,
.ticket-status-cell {
    text-align: center;
    white-space: nowrap;
}
.ticket-status-cell .go-status-pill,
.ticket-mobile-side .go-status-pill {
    min-height: 24px;
    min-width: 72px;
    padding: 4px 10px;
    border-width: 1px;
    border-radius: 7px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    box-shadow: inset 0 -1px 0 rgba(15, 23, 42, 0.06);
}
.ticket-status-cell .go-status-pill.is-open,
.ticket-mobile-side .go-status-pill.is-open {
    border-color: #f4c453;
    background: #fff3c4;
    color: #7a4b00;
}
.ticket-status-cell .go-status-pill.is-resolved,
.ticket-mobile-side .go-status-pill.is-resolved {
    border-color: #89d39c;
    background: #def8e5;
    color: #176b2c;
}
.ticket-status-cell .go-status-pill.is-invoiced,
.ticket-mobile-side .go-status-pill.is-invoiced {
    border-color: #9db8f0;
    background: #e8efff;
    color: #244f9f;
}
.ticket-priority-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    min-width: 72px;
    padding: 3px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    background: #f8fafc;
    color: #334155;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    text-transform: capitalize;
    box-shadow: inset 0 -1px 0 rgba(15, 23, 42, 0.05);
}
.ticket-priority-pill.is-high,
.ticket-priority-pill.is-urgent {
    background: #fee2e2;
    border-color: #fca5a5;
    color: #991b1b;
}
.ticket-priority-pill.is-medium {
    background: #ffedd5;
    border-color: #fdba74;
    color: #92400e;
}
.ticket-priority-pill.is-low {
    background: #e0f2fe;
    border-color: #93c5fd;
    color: #1d4ed8;
}
.ticket-issue-cell {
    color: var(--go-text);
    line-height: 1.35;
    max-width: 0;
}
body[data-theme-choice="modern"] .tickets-page {
    gap: 14px;
}
body[data-theme-choice="modern"] .ticket-table-shell .table-wrap,
body[data-theme-choice="modern"] .ticket-index-summary .metric {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
body[data-theme-choice="modern"] .ticket-index-summary {
    max-width: none;
    margin: 0;
}
body[data-theme-choice="modern"] .ticket-index-summary .metric {
    min-height: 48px;
    padding: 7px 10px;
    text-align: center;
    justify-items: center;
    align-content: center;
    gap: 4px;
    border-radius: 8px;
    position: relative;
}
body[data-theme-choice="modern"] .ticket-index-summary .metric:nth-child(1) {
    background: var(--go-surface);
    border-color: color-mix(in srgb, var(--go-warning) 42%, var(--go-border));
}
body[data-theme-choice="modern"] .ticket-index-summary .metric:nth-child(2) {
    background: var(--go-surface);
    border-color: color-mix(in srgb, var(--go-success) 42%, var(--go-border));
}
body[data-theme-choice="modern"] .ticket-index-summary .metric:nth-child(3) {
    background: var(--go-surface);
    border-color: color-mix(in srgb, var(--go-primary) 42%, var(--go-border));
}
body[data-theme-choice="modern"] .ticket-index-summary .metric-label {
    text-align: center;
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .ticket-index-summary .metric strong {
    color: var(--go-text);
    font-size: 14px;
}
@media (min-width: 961px) {
    .ticket-table-shell tbody tr.ticket-row-clickable {
        cursor: pointer;
    }
    .ticket-table-shell tbody tr.ticket-row-clickable:hover td {
        background: #E8EDF3;
    }
}
@media (max-width: 960px) {
    .tickets-page {
        gap: 16px;
    }
    .tickets-page-header {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .tickets-page-header-copy p {
        margin-top: 6px;
    }
    .ticket-header-status-form {
        width: 100%;
        flex: none;
        margin-left: 0;
    }
    .ticket-summary-row {
        display: grid;
        grid-column: 1 / -1;
        gap: 12px;
        width: 100%;
        min-width: 0;
        justify-content: stretch;
        justify-self: stretch;
    }
    .ticket-index-summary {
        grid-auto-flow: row;
        grid-auto-columns: unset;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        justify-content: stretch;
        gap: 8px;
        order: 2;
        width: 100%;
        min-width: 0;
        max-width: none;
    }
    body[data-theme-choice="modern"] .ticket-index-summary .metric {
        min-height: 58px;
        padding: 8px 6px;
        text-align: center;
        justify-items: center;
    }
    body[data-theme-choice="modern"] .ticket-index-summary .metric-label {
        text-align: center;
    }
    .ticket-index-summary a.metric::after {
        content: none;
    }
    .ticket-index-summary a.metric {
        padding-right: 6px;
    }
    .ticket-table-shell {
        display: none;
    }
    .ticket-mobile-list {
        display: grid;
    }
    .ticket-page-links {
        overflow-x: auto;
        padding-bottom: 4px;
    }
}
@media (max-width: 680px) {
    .ticket-index-summary .metric strong {
        font-size: 14px;
    }
    .ticket-mobile-row {
        padding: 14px;
        gap: 10px;
    }
    .ticket-mobile-side {
        align-self: stretch;
    }
    .ticket-mobile-title strong {
        font-size: 14px;
    }
}


/* Inventory list page migrated from resources/views/ghm-ops/inventory-items/index.blade.php */
.inventory-page {
    display: grid;
    gap: 20px;
}
.inventory-mobile-summary {
    display: none;
}
.inventory-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.inventory-page-header-copy h1 {
    margin: 0;
    color: var(--go-text);
}
.inventory-page-header-copy p {
    margin: 8px 0 0;
    color: var(--go-muted);
    max-width: 760px;
}
.inventory-page-header-actions {
    flex: 0 0 auto;
}
.inventory-header-status-form {
    flex: 0 0 170px;
    margin-left: auto;
}
.inventory-header-status-form label {
    margin: 0;
}
.inventory-header-status-form select {
    min-height: 34px;
    padding-top: 6px;
    padding-bottom: 6px;
}
.inventory-filter-card {
    display: grid;
    gap: 16px;
    padding: 16px;
    border-radius: 10px;
}
.inventory-filter-card .filter-toolbar {
    margin: 0;
}
.inventory-filter-card .filter-actions {
    display: flex;
    align-items: end;
    gap: 10px;
    flex-wrap: wrap;
}
.inventory-table-shell {
    display: grid;
    gap: 10px;
}
.inventory-table-topline {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}
.inventory-table-count {
    color: var(--go-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.inventory-sort-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid var(--go-border);
    border-radius: 7px;
    background: var(--go-surface);
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
}
.inventory-sort-link:hover {
    border-color: color-mix(in srgb, var(--go-primary) 36%, var(--go-border));
    color: var(--go-primary);
}
.inventory-mobile-list {
    display: none;
}
.inventory-table-shell table thead th:last-child,
.inventory-table-shell table tbody td:last-child {
    text-align: right;
}
.inventory-table-shell .table-action-cell {
    vertical-align: top;
}
.inventory-table-shell table tbody tr.inventory-row {
    transition: background-color 160ms ease, box-shadow 160ms ease;
}
.inventory-table-shell table tbody tr.inventory-row.is-clickable {
    cursor: pointer;
}
.inventory-table-shell table tbody tr.inventory-row-main.has-description td {
    padding-bottom: 0;
    border-bottom: 0;
}
.inventory-page .table-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    align-items: center;
}
.inventory-item-cell {
    display: grid;
    gap: 4px;
}
.inventory-item-name {
    color: var(--go-text);
    font-weight: 700;
    line-height: 1.35;
}
.inventory-item-id,
.inventory-item-description {
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    line-height: 1.45;
}
.inventory-item-description {
    display: none;
    max-width: 54ch;
}
.inventory-description-row td {
    padding-top: 0;
    padding-bottom: 14px;
    border-top: 0;
}
.inventory-description-cell {
    text-align: left;
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    line-height: 1.5;
}
.inventory-table-shell table tbody td.inventory-description-cell {
    text-align: left;
}
.inventory-description-cell span {
    display: block;
    width: 100%;
}
.inventory-money {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.inventory-money strong {
    color: var(--go-text);
    font-weight: 700;
}
.inventory-money-muted {
    color: var(--go-muted);
}
.inventory-cell-center {
    text-align: center;
}
.inventory-list-text {
    color: var(--go-text);
    font: inherit;
    font-weight: 700;
    line-height: inherit;
}
.inventory-list-text.is-active {
    color: var(--go-primary);
}
.inventory-list-text.is-inactive {
    color: var(--go-danger);
}
.inventory-list-text.is-muted {
    color: var(--go-muted);
}
.inventory-empty-state {
    padding: 26px 18px;
    text-align: center;
    color: var(--go-muted);
}
.inventory-mobile-card {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--go-border);
    border-radius: 14px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    text-decoration: none;
}
.inventory-mobile-call-row {
    grid-template-columns: minmax(0, 1.65fr) minmax(72px, .75fr) minmax(70px, .65fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px;
    border-radius: 9px;
}
.inventory-mobile-call-main,
.inventory-mobile-call-category,
.inventory-mobile-call-row .inventory-mobile-card-price-value,
.inventory-mobile-call-row .inventory-list-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.inventory-mobile-call-main {
    display: block;
}
.inventory-mobile-call-main strong,
.inventory-mobile-call-main span {
    display: inline;
    line-height: 1.2;
}
.inventory-mobile-call-main strong {
    color: var(--go-text);
    font-size: 12px;
    font-weight: 800;
}
.inventory-mobile-call-main span {
    margin-left: 5px;
    color: var(--go-muted);
    font-size: 11px;
}
.inventory-mobile-call-category {
    color: var(--go-muted);
    font-size: 11px;
}
.inventory-mobile-call-row .inventory-mobile-card-price-value {
    color: var(--go-text);
    font-size: 12px;
    font-weight: 800;
    text-align: right;
}
.inventory-mobile-call-row .inventory-list-text {
    font-size: 10px;
    text-align: right;
}
.inventory-mobile-card-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
}
.inventory-mobile-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: color-mix(in srgb, var(--go-primary-soft) 82%, var(--go-surface));
    color: var(--go-primary);
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    flex: 0 0 auto;
}
.inventory-mobile-card-title {
    display: grid;
    gap: 4px;
    min-width: 0;
}
.inventory-mobile-card-title strong {
    color: var(--go-text);
    font-size: 15px;
    line-height: 1.35;
}
.inventory-mobile-card-title span {
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    line-height: 1.45;
}
.inventory-mobile-card-price {
    display: grid;
    gap: 4px;
    justify-items: end;
    text-align: right;
    min-width: 0;
}
.inventory-mobile-card-price-label {
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.inventory-mobile-card-price-value {
    color: var(--go-text);
    font-size: 20px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}
.inventory-mobile-card-price-sub {
    color: var(--go-muted);
    font-size: 12px;
    line-height: 1.35;
}
.inventory-mobile-card-description {
    color: var(--go-text-soft);
    font-size: 13px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.inventory-mobile-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.inventory-mobile-card-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.inventory-mobile-card-detail {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid var(--go-border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--go-bg) 60%, var(--go-surface));
}
.inventory-mobile-card-detail-label {
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.inventory-mobile-card-detail-value {
    color: var(--go-text);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}
.inventory-mobile-card-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding-top: 2px;
}
.inventory-mobile-card-support {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    min-width: 0;
}
.inventory-mobile-card-arrow {
    color: var(--go-muted);
    font-size: 20px;
    line-height: 1;
}
.inventory-mobile-empty {
    padding: 20px 18px;
    border: 1px solid var(--go-border);
    border-radius: 12px;
    background: var(--go-surface);
    color: var(--go-muted);
    text-align: center;
    line-height: 1.6;
}
body[data-theme-choice="modern"] .inventory-filter-card,
body[data-theme-choice="modern"] .inventory-table-shell .table-wrap {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
body[data-theme-choice="modern"] .inventory-table-shell .table-wrap {
    border-radius: 10px;
    overflow: hidden;
}
body[data-theme-choice="modern"] .inventory-table-shell thead th {
    color: var(--go-muted);
    font-weight: 600;
    background: transparent;
}
body[data-theme-choice="modern"] .inventory-table-shell tbody td {
    padding-top: 14px;
    padding-bottom: 14px;
}
body[data-theme-choice="modern"] .inventory-table-shell tbody tr.inventory-row:hover td {
    background: color-mix(in srgb, var(--go-primary-soft) 32%, var(--go-surface));
}
body[data-theme-choice="modern"] .inventory-table-shell tbody tr.inventory-row-main.has-description:hover + .inventory-description-row td {
    background: color-mix(in srgb, var(--go-primary-soft) 32%, var(--go-surface));
}
body[data-theme-choice="modern"] .inventory-table-shell tbody tr.inventory-description-row:hover td {
    background: color-mix(in srgb, var(--go-primary-soft) 32%, var(--go-surface));
}
body[data-theme-choice="modern"] .inventory-table-shell tbody tr.inventory-row.is-clickable:hover {
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--go-primary) 18%, transparent);
}
body[data-theme-choice="modern"] .inventory-item-description {
    color: color-mix(in srgb, var(--go-muted) 92%, var(--go-text));
}
@media (max-width: 960px) {
    .inventory-page-header {
        flex-direction: column;
        align-items: stretch;
    }
    .inventory-page-header-actions {
        width: 100%;
    }
    .inventory-page-header-actions .go-action-button {
        width: 100%;
        justify-content: center;
    }
    .inventory-header-status-form {
        width: 100%;
        flex: none;
        margin-left: 0;
    }
    .inventory-page .table-actions {
        justify-content: flex-start;
    }
    .inventory-item-description {
        display: block;
    }
    .inventory-description-row {
        display: none;
    }
    .inventory-filter-card {
        gap: 14px;
        padding: 14px;
    }
    .inventory-filter-card .filter-toolbar {
        gap: 12px;
    }
    .inventory-filter-card .filter-search-field,
    .inventory-filter-card .filter-compact-field {
        width: 100%;
    }
    .inventory-filter-card .filter-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        width: 100%;
    }
    .inventory-filter-card .filter-actions .go-action-button,
    .inventory-filter-card .filter-actions button {
        width: 100%;
        min-height: 44px;
        justify-content: center;
    }
    .inventory-mobile-summary {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .inventory-mobile-summary-card {
        display: grid;
        gap: 6px;
        min-height: 82px;
        padding: 14px;
        border: 1px solid var(--go-border);
        border-radius: 14px;
        background: var(--go-surface);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    }
    .inventory-mobile-summary-card span {
        color: var(--go-muted);
        font-size: var(--go-font-label-size);
        font-weight: var(--go-font-label-weight);
    }
    .inventory-mobile-summary-card strong {
        color: var(--go-text);
        font-size: 22px;
        font-weight: 700;
        font-variant-numeric: tabular-nums;
        line-height: 1.15;
    }
    .inventory-table-shell .table-wrap {
        display: none;
    }
    .inventory-table-topline,
    .inventory-page-links {
        display: none;
    }
    .inventory-mobile-list {
        display: grid;
        gap: 12px;
    }
}
@media (max-width: 680px) {
    .inventory-page .table-actions {
        align-items: flex-start;
    }
    .inventory-page {
        gap: 16px;
    }
    .inventory-page-header {
        gap: 12px;
    }
    .inventory-page-header-copy p {
        margin-top: 6px;
        max-width: none;
        line-height: 1.5;
    }
    .inventory-mobile-summary,
    .inventory-mobile-card-details {
        grid-template-columns: 1fr;
    }
    .inventory-mobile-card {
        padding: 14px;
    }
    .inventory-mobile-call-row {
        grid-template-columns: minmax(0, 1.35fr) minmax(60px, .6fr) minmax(62px, .62fr) auto;
        gap: 6px;
        padding: 8px;
    }
    .inventory-mobile-card-head,
    .inventory-mobile-card-footer {
        grid-template-columns: 1fr;
    }
    .inventory-mobile-card-head {
        grid-template-columns: auto minmax(0, 1fr);
    }
    .inventory-mobile-card-price {
        grid-column: 1 / -1;
        justify-items: start;
        text-align: left;
    }
    .inventory-mobile-card-price,
    .inventory-mobile-card-arrow {
        justify-items: start;
        text-align: left;
    }
    .inventory-mobile-card-arrow {
        display: none;
    }
}


/* Reports page migrated from resources/views/ghm-ops/reports/index.blade.php */
.reports-page {
    display: grid;
    gap: 20px;
}
.reports-dashboard-hub {
    display: grid;
    gap: 18px;
}
.reports-dashboard-group {
    display: grid;
    gap: 12px;
}
.reports-dashboard-group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.reports-dashboard-group-head h2 {
    margin: 0;
    color: var(--go-text);
    font-size: 18px;
    font-weight: 800;
}
.reports-dashboard-card-grid {
    grid-auto-flow: row;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}
.reports-dashboard-card-grid.other-report-cards {
    grid-template-columns: repeat(9, minmax(0, 1fr));
}
.reports-dashboard-card {
    color: inherit;
    text-decoration: none;
}
.reports-dashboard-card:hover,
.reports-dashboard-card:focus-visible {
    border-color: var(--go-primary);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--go-primary) 35%, transparent);
    outline: none;
}
.reports-dashboard-card.is-success strong {
    color: var(--go-primary);
}
.reports-dashboard-card.is-danger strong {
    color: var(--go-danger);
}
.reports-dashboard-card.is-warning strong {
    color: var(--go-warning);
}
.reports-mobile-overview,
.reports-mobile-status-list {
    display: none;
}
.reports-mobile-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.reports-mobile-kpi {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid var(--go-border);
    border-radius: 14px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.reports-mobile-kpi strong {
    color: var(--go-text);
    font-size: 12px;
    line-height: 1.35;
}
.reports-mobile-kpi-value {
    color: var(--go-text);
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
.reports-mobile-kpi.is-primary .reports-mobile-kpi-value,
.reports-mobile-kpi.is-success .reports-mobile-kpi-value {
    color: var(--go-primary);
}
.reports-mobile-kpi.is-danger .reports-mobile-kpi-value {
    color: var(--go-danger);
}
.reports-mobile-kpi.is-warning .reports-mobile-kpi-value {
    color: var(--go-warning);
}
.reports-mobile-kpi-help {
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    line-height: 1.45;
}
.reports-mobile-status-grid {
    display: grid;
    gap: 10px;
}
.reports-mobile-status-card {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--go-border);
    border-radius: 12px;
    background: var(--go-surface);
}
.reports-mobile-status-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.reports-mobile-status-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
.reports-mobile-status-metric {
    display: grid;
    gap: 4px;
}
.reports-mobile-status-metric span {
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.reports-mobile-status-metric strong {
    color: var(--go-text);
    font-size: 13px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.report-summary-blocks {
    width: 100%;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    justify-content: stretch;
    align-items: stretch;
    gap: 10px;
}
.report-summary-blocks .metric {
    padding: 8px 10px;
    min-height: 72px;
    text-align: center;
}
.report-summary-blocks .metric-label,
.report-summary-blocks .metric {
    text-align: center;
}
.reports-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding-top: 2px;
}
.reports-page-header-copy h1 {
    margin: 0;
    color: var(--go-text);
}
.reports-page-header-copy p {
    margin: 10px 0 0;
    color: var(--go-muted);
    line-height: 1.55;
    max-width: 760px;
}
.reports-filter-drawer {
    position: fixed;
    inset: 0 0 0 auto;
    width: min(480px, 100vw);
    height: 100dvh;
    max-width: 100vw;
    max-height: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    border: 0;
    border-left: 1px solid var(--go-border);
    background: var(--go-bg);
    color: var(--go-text);
    overflow: hidden;
}
.reports-filter-drawer[open] {
    display: flex;
    flex-direction: column;
    gap: 0;
    animation: reports-filter-slide-in .2s ease-out;
}
.reports-filter-drawer:not([open]) {
    display: none;
}
.reports-filter-drawer::backdrop {
    background: rgba(0, 0, 0, .45);
}
.reports-filter-drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 24px;
    border-bottom: 1px solid var(--go-border);
    flex-shrink: 0;
}
.reports-filter-drawer-head h2 {
    margin: 0;
}
.reports-filter-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 10px;
    border: 1px solid var(--go-border);
    border-radius: 50%;
    background: var(--go-surface);
    color: var(--go-text);
    cursor: pointer;
}
.reports-filter-close svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
}
.reports-filter-form {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    margin: 0;
}
.reports-filter-fields {
    display: grid;
    align-content: start;
    gap: 22px;
    padding: 24px;
    overflow-y: auto;
    overscroll-behavior: contain;
    flex: 1;
    min-height: 0;
}
.reports-filter-fields label {
    display: grid;
    gap: 8px;
    min-width: 0;
    max-width: none;
    width: 100%;
    margin: 0;
    color: var(--go-text);
}
.reports-filter-fields input:not([type="hidden"]),
.reports-filter-fields select {
    width: 100%;
    min-height: 36px;
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 12px;
}
.reports-filter-fields small {
    color: var(--go-muted);
}
.reports-filter-drawer .client-search-picker-results {
    position: static;
    margin-top: 4px;
}
.reports-filter-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 18px 24px;
    padding-bottom: max(18px, env(safe-area-inset-bottom));
    border-top: 1px solid var(--go-border);
    flex-shrink: 0;
}
.reports-filter-actions .go-action-button {
    min-height: 42px;
    justify-content: center;
}
.reports-header-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    flex-shrink: 0;
}
.reports-filter-drawer .reports-filter-fields.expense-form-card {
    border: 0;
    border-radius: 0;
    background: transparent;
    gap: 22px;
}
.reports-filter-drawer [data-report-form-errors] {
    color: var(--go-danger);
    border: 1px solid var(--go-danger);
    border-radius: var(--go-radius-sm);
    padding: 12px;
}
.reports-filter-drawer [data-report-form-errors][hidden] {
    display: none;
}
@keyframes reports-filter-slide-in {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
    .reports-filter-drawer[open] { animation: none; }
}
.report-toggle-section {
    display: grid;
    gap: 14px;
}
.report-toggle-section[hidden] {
    display: none;
}
.report-toggle-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.report-section-state {
    margin-top: 14px;
}
.report-toggle-body {
    display: grid;
    gap: 20px;
}
.report-toggle-body[hidden] {
    display: none;
}
.report-section {
    margin-top: 24px;
    display: grid;
    gap: 14px;
}
.report-section h2 {
    margin: 0;
    color: var(--go-muted);
}
.report-heading-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
}
.report-heading-row .go-action-button {
    justify-self: end;
    min-height: 34px;
    padding-right: 14px;
    padding-left: 14px;
}
.report-major-heading {
    margin: 14px 0 0;
    color: var(--go-text);
    font-size: 20px;
    font-weight: 800;
}
.report-table-wrap {
    overflow-x: auto;
}
.report-note {
    margin: 8px 0 0;
    color: var(--muted-ink);
}
.report-section-stack {
    display: grid;
    gap: 14px;
}
body[data-theme-choice="modern"] .reports-page {
    gap: 22px;
}
body[data-theme-choice="modern"] .report-summary-blocks .metric,
body[data-theme-choice="modern"] .report-table-wrap.table-wrap,
body[data-theme-choice="modern"] .reports-page .notice {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
body[data-theme-choice="modern"] .reports-page .notice {
    padding: 14px 16px;
    border-radius: 10px;
    color: var(--go-muted);
    background: color-mix(in srgb, var(--go-primary-soft) 45%, var(--go-surface));
}
body[data-theme-choice="modern"] .report-summary-blocks .metric {
    min-height: 72px;
    padding: 10px;
    text-align: center;
    justify-items: center;
    align-content: center;
    border-radius: 10px;
    gap: 8px;
}
body[data-theme-choice="modern"] .report-summary-blocks .metric-label,
body[data-theme-choice="modern"] .report-summary-blocks .metric {
    text-align: center;
}
body[data-theme-choice="modern"] .report-summary-blocks .metric strong {
    color: var(--go-text);
    font-size: 16px;
}
body[data-theme-choice="modern"] .report-table-wrap.table-wrap {
    border-radius: 10px;
    overflow: hidden;
}
body[data-theme-choice="modern"] .report-table-wrap thead th {
    color: var(--go-muted);
    font-weight: 600;
    background: transparent;
}
body[data-theme-choice="modern"] .report-table-wrap tbody td {
    padding-top: 14px;
    padding-bottom: 14px;
}
body[data-theme-choice="modern"] .report-table-wrap tbody tr:hover td {
    background: var(--go-row-hover);
}
.report-table-wrap .money,
.report-table-wrap .numeric,
.report-table-wrap .is-right,
.report-table-wrap table th:last-child,
.report-table-wrap table td:last-child {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.report-nowrap-table table {
    width: 100%;
    min-width: 100%;
    table-layout: fixed;
}
.report-nowrap-table th,
.report-nowrap-table td {
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
}
.report-unresolved-tickets-table .report-ticket-col-date { width: 64px; }
.report-unresolved-tickets-table .report-ticket-col-number { width: 62px; }
.report-unresolved-tickets-table .report-ticket-col-customer { width: 140px; }
.report-unresolved-tickets-table .report-ticket-col-priority { width: 72px; }
.report-unresolved-tickets-table .report-ticket-col-age { width: 72px; }
.report-unresolved-tickets-table .report-ticket-col-issue { width: auto; }
.report-unresolved-tickets-table .report-ticket-issue {
    overflow: visible;
    text-align: left !important;
    text-overflow: clip;
    white-space: nowrap;
}
@media (max-width: 680px) {
    .report-summary-blocks {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 960px) {
    .reports-page {
        gap: 16px;
    }
    .reports-page-header {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .reports-page-header-copy p {
        margin-top: 6px;
        max-width: none;
    }
    .reports-mobile-overview {
        display: grid;
        gap: 12px;
    }
    .report-toggle-section {
        gap: 12px;
    }
    .report-toggle-head {
        align-items: center;
    }
    .report-section-state {
        margin-top: 4px;
    }
    .report-toggle-body {
        gap: 16px;
    }
    .report-summary-blocks {
        grid-auto-flow: row;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .reports-dashboard-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .reports-dashboard-card-grid.other-report-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .report-summary-blocks .metric {
        min-height: 74px;
        padding: 13px 14px;
    }
    .report-section {
        margin-top: 0;
        gap: 12px;
    }
    .report-section h2 {
        color: var(--go-text);
        font-size: 16px;
    }
    .report-major-heading {
        margin-top: 4px;
        font-size: 18px;
    }
    .report-section-stack {
        gap: 12px;
        padding: 14px;
        border: 1px solid var(--go-border);
        border-radius: 12px;
        background: var(--go-surface);
    }
    .report-section[data-mobile-replace="invoice-status"] .report-table-wrap {
        display: none;
    }
    .reports-mobile-status-list {
        display: grid;
        gap: 10px;
    }
    .reports-page .notice {
        line-height: 1.5;
    }
    .report-table-wrap.table-wrap.mobile-cards {
        border-radius: 12px;
    }
    .report-table-wrap.table-wrap.mobile-cards tbody tr {
        border-bottom-color: var(--go-border);
    }
    .report-table-wrap.table-wrap.mobile-cards td,
    .report-table-wrap.table-wrap.mobile-cards th {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .report-table-wrap.table-wrap.mobile-cards td::before {
        color: var(--go-muted);
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .04em;
        text-transform: uppercase;
    }
    .report-unresolved-tickets-table.table-wrap.mobile-cards {
        overflow-x: auto;
        overflow-y: hidden;
    }
    .report-unresolved-tickets-table.table-wrap.mobile-cards > table {
        display: table;
        min-width: 1180px;
        table-layout: fixed;
    }
    .report-unresolved-tickets-table.table-wrap.mobile-cards thead {
        display: table-header-group;
    }
    .report-unresolved-tickets-table.table-wrap.mobile-cards tbody {
        display: table-row-group;
    }
    .report-unresolved-tickets-table.table-wrap.mobile-cards tr {
        display: table-row;
        padding: 0;
    }
    .report-unresolved-tickets-table.table-wrap.mobile-cards th,
    .report-unresolved-tickets-table.table-wrap.mobile-cards td {
        display: table-cell;
        text-align: left;
        white-space: nowrap;
    }
    .report-unresolved-tickets-table.table-wrap.mobile-cards td::before {
        content: none;
    }
    .report-unresolved-tickets-table.table-wrap.mobile-cards .report-ticket-issue {
        text-align: left !important;
    }
}
@media (max-width: 680px) {
    .reports-mobile-overview-grid,
    .reports-mobile-status-metrics {
        grid-template-columns: 1fr;
    }
    .reports-dashboard-card-grid {
        grid-template-columns: 1fr;
    }
    .reports-dashboard-card-grid.other-report-cards {
        grid-template-columns: 1fr;
    }
}
.reports-page.is-result-mode .reports-mobile-overview,
.reports-page.is-result-mode .report-toggle-head,
.reports-page.is-result-mode .report-summary-blocks,
.reports-page.is-result-mode .reports-mobile-status-list,
.reports-page.is-result-mode .report-summary-heading-row,
.reports-page.is-result-mode .report-summary-title,
.reports-page.is-result-mode .report-section-state {
    display: none;
}
.reports-page.is-result-mode {
    row-gap: 22px;
}
.reports-page.is-result-mode .report-toggle-body {
    gap: 44px;
}
.reports-page.is-result-mode .report-section {
    margin-top: 0;
}
@media (max-width: 960px) {
    .reports-page.is-result-mode .report-section[data-mobile-replace="invoice-status"] .report-table-wrap {
        display: block;
    }
}


/* Dashboard page migrated from resources/views/ghm-ops/dashboard.blade.php */
.dashboard-page {
    display: grid;
    gap: 20px;
}
.dashboard-mobile-home {
    display: none;
}
.dashboard-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 0;
}
.dashboard-page-header-copy {
    min-width: 0;
}
.dashboard-page-header-copy p {
    margin: 8px 0 0;
    max-width: 720px;
    color: var(--go-muted);
}
.dashboard-page-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.dashboard-view-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    flex: 0 0 auto;
}
.dashboard-view-toggle a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 7px;
    color: var(--go-muted);
    font-size: var(--go-font-badge-size);
    font-weight: var(--go-font-badge-weight);
    text-transform: uppercase;
}
.dashboard-view-toggle a.active {
    background: var(--go-primary);
    color: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}
.dashboard-section {
    display: grid;
    gap: 12px;
}
.dashboard-top-blocks {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: start;
    gap: 12px;
}
.dashboard-top-blocks .dashboard-section-priority {
    margin-top: 0;
    margin-bottom: 0;
}
.dashboard-top-blocks .dashboard-section-attention {
    grid-column: span 2;
}
.dashboard-top-blocks .dashboard-mobile-order-kpis {
    grid-column: span 3;
}
.dashboard-top-blocks .dashboard-attention-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}
.dashboard-top-blocks .dashboard-attention-card {
    grid-column: span 2;
}
.dashboard-top-blocks .dashboard-attention-stack {
    grid-column: span 3;
    display: grid;
    gap: 12px;
}
.dashboard-top-blocks .dashboard-attention-stack .dashboard-attention-card {
    grid-column: auto;
}
.dashboard-top-blocks .dashboard-attention-count-card {
    height: 62px;
    min-height: 62px;
}
.dashboard-top-blocks .dashboard-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.dashboard-section-priority {
    margin-top: 8px;
    margin-bottom: 4px;
}
.dashboard-section-attention {
    gap: 12px;
}
.dashboard-section-heading {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
}
.dashboard-section-heading > div {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}
.dashboard-section-heading h2 {
    margin: 0;
    color: var(--go-text);
}
.dashboard-section-heading p {
    margin: 0;
    color: var(--go-muted);
    font-size: 13px;
}
.dashboard-attention-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.dashboard-section-attention .dashboard-section-heading h2,
.dashboard-mobile-section-head h2 { font-size: 75%; }
.dashboard-section-attention .dashboard-attention-label,
.dashboard-mobile-attention-card span,
.dashboard-mobile-kpi-card span { font-size: 9px; }
.dashboard-section-attention .dashboard-attention-card strong,
.dashboard-mobile-attention-card strong,
.dashboard-mobile-kpi-card strong { font-size: 21px; }
.dashboard-section-attention .dashboard-attention-note { font-size: 10px; }

.dashboard-mobile-order-kpis .dashboard-section-heading h2 { font-size: 75%; }
.dashboard-mobile-order-kpis .dashboard-kpis .metric-label { font-size: 9px; }
.dashboard-mobile-order-kpis .dashboard-kpis .metric strong { font-size: 21px; }
.dashboard-attention-card {
    display: grid;
    align-content: center;
    justify-items: center;
    min-width: 0;
    min-height: 74px;
    gap: 6px;
    padding: 10px 12px;
    border: 1px solid var(--go-border);
    border-radius: 10px;
    background: var(--go-surface);
    text-align: center;
    box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.dashboard-attention-card.is-danger {
    background: color-mix(in srgb, var(--go-danger-soft) 10%, var(--go-surface));
    border-color: color-mix(in srgb, var(--go-danger) 16%, var(--go-border));
}
.dashboard-attention-card.is-warning {
    background: color-mix(in srgb, var(--go-warning-soft) 16%, var(--go-surface));
    border-color: color-mix(in srgb, var(--go-warning) 18%, var(--go-border));
}
.dashboard-attention-card.is-success {
    background: color-mix(in srgb, var(--go-primary-soft) 18%, var(--go-surface));
    border-color: color-mix(in srgb, var(--go-primary) 14%, var(--go-border));
}
.dashboard-attention-label {
    color: var(--go-muted);
    font-size: var(--go-font-badge-size);
    font-weight: var(--go-font-badge-weight);
    letter-spacing: .02em;
    text-transform: uppercase;
}
.dashboard-attention-card strong {
    font-size: calc(var(--go-font-metric-value-size) + 4px);
    font-family: inherit;
    font-variant-numeric: lining-nums;
    letter-spacing: 0;
    line-height: 1.05;
    color: var(--go-text);
}
.dashboard-attention-note {
    color: var(--go-text);
    font-size: var(--go-font-helper-size);
    line-height: 1.4;
}
.dashboard-attention-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--go-primary);
    font-size: var(--go-font-badge-size);
    font-weight: var(--go-font-badge-weight);
    text-transform: uppercase;
}
.dashboard-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.dashboard-summary-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}
.dashboard-kpis .metric,
.dashboard-summary-row .metric {
    gap: 8px;
    padding: 14px;
}
.dashboard-kpis .metric {
    text-align: center;
    justify-items: center;
    align-content: center;
}
.dashboard-page .dashboard-kpis .metric {
    border: 1px solid var(--go-border);
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    min-height: 74px;
    padding: 10px 12px;
}
.dashboard-kpis .metric-label,
.dashboard-summary-row .metric-label {
    text-align: left;
    text-transform: uppercase;
    letter-spacing: .02em;
}
.dashboard-kpis .metric-label {
    text-align: center;
}
.dashboard-kpis .metric strong,
.dashboard-summary-row .metric strong {
    text-align: left;
    font-size: calc(var(--go-font-metric-value-size) + 4px);
    font-family: inherit;
    font-variant-numeric: lining-nums;
    letter-spacing: 0;
    line-height: 1.05;
}
.dashboard-kpis .metric strong,
.dashboard-kpis .dashboard-kpi-help {
    text-align: center;
}
.dashboard-summary-row .metric strong {
    font-size: 18px;
    line-height: 1.1;
}
.dashboard-summary-row .metric {
    min-width: 0;
    justify-items: start;
    text-align: left;
}
.dashboard-summary-row .metric-label,
.dashboard-summary-row .metric p {
    text-align: left;
}
.dashboard-page .dashboard-kpis .dashboard-kpi-balance {
    border-color: color-mix(in srgb, var(--go-text) 10%, var(--go-border));
}
.dashboard-page .dashboard-kpis .dashboard-kpi-balance strong {
    color: color-mix(in srgb, var(--go-text) 92%, #000);
}
.dashboard-page .dashboard-kpis .dashboard-kpi-due {
    background: color-mix(in srgb, var(--go-danger-soft) 20%, var(--go-surface)) !important;
    border-color: color-mix(in srgb, var(--go-danger) 12%, var(--go-border));
}
.dashboard-page .dashboard-kpis .dashboard-kpi-due strong {
    color: var(--go-danger);
}
.dashboard-page .dashboard-kpis .dashboard-kpi-open {
    background: color-mix(in srgb, var(--go-warning-soft) 22%, var(--go-surface)) !important;
    border-color: color-mix(in srgb, var(--go-warning) 12%, var(--go-border));
}
.dashboard-page .dashboard-kpis .dashboard-kpi-paid {
    background: var(--go-surface) !important;
    border-color: var(--go-border);
}
.dashboard-page .dashboard-kpis .dashboard-kpi-paid strong {
    color: var(--go-text);
}
.dashboard-page .dashboard-kpis .dashboard-kpi-balance,
.dashboard-page .dashboard-kpis .dashboard-kpi-paid {
    padding: 10px;
    text-align: center;
    justify-items: center;
    align-content: center;
}
.dashboard-page .dashboard-kpis .dashboard-kpi-balance .metric-label,
.dashboard-page .dashboard-kpis .dashboard-kpi-paid .metric-label,
.dashboard-page .dashboard-kpis .dashboard-kpi-balance strong,
.dashboard-page .dashboard-kpis .dashboard-kpi-paid strong,
.dashboard-page .dashboard-kpis .dashboard-kpi-balance .dashboard-kpi-help,
.dashboard-page .dashboard-kpis .dashboard-kpi-paid .dashboard-kpi-help {
    text-align: center;
}
.dashboard-kpi-help {
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    line-height: 1.35;
}
.dashboard-panel-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 16px;
}
.dashboard-panel {
    display: grid;
    gap: 10px;
    padding: 14px 16px;
    box-shadow: none;
}
.dashboard-panel-tight {
    gap: 8px;
    padding: 14px 16px;
    align-content: start;
}
.dashboard-summary-panel {
    gap: 8px;
    padding: 14px 16px;
    align-content: start;
}
.dashboard-summary-panel.dashboard-attention-panel {
    gap: 8px;
    padding: 14px 16px;
}
.dashboard-panel h2 {
    margin: 0;
    color: var(--go-muted);
}
.dashboard-panel-subtitle {
    margin: 0;
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
}
.dashboard-section-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 7px;
    background: color-mix(in srgb, var(--go-primary-soft) 86%, var(--go-surface));
    border: 1px solid color-mix(in srgb, var(--go-primary) 18%, var(--go-border));
    color: var(--go-primary);
    font-size: var(--go-font-badge-size);
    font-weight: var(--go-font-badge-weight);
    text-transform: uppercase;
    white-space: nowrap;
}
.dashboard-panel-tight .dashboard-panel-subtitle {
    min-height: 32px;
}
.dashboard-summary-panel .dashboard-panel-subtitle {
    min-height: 42px;
}
.dashboard-panel-tight .dashboard-table-shell {
    gap: 8px;
}
.dashboard-summary-panel .dashboard-table-shell {
    gap: 8px;
}
.dashboard-panel-tight .table-wrap {
    margin-top: 0;
}
.dashboard-summary-panel .table-wrap {
    margin-top: 0;
}
.dashboard-panel-tight .dashboard-table-shell th,
.dashboard-panel-tight .dashboard-table-shell td {
    padding-top: 12px;
    padding-bottom: 12px;
}
.dashboard-summary-panel .dashboard-table-shell th,
.dashboard-summary-panel .dashboard-table-shell td {
    padding-top: 12px;
    padding-bottom: 12px;
}
.dashboard-summary-panel.dashboard-attention-panel .dashboard-table-shell td {
    padding-top: 12px;
    padding-bottom: 12px;
}
.dashboard-table-shell {
    display: grid;
    gap: 8px;
}
.dashboard-table-shell .table-wrap {
    background: transparent;
    border: 0;
    box-shadow: none;
}
.dashboard-table-shell table {
    background: transparent;
}
.dashboard-table-shell th,
.dashboard-table-shell td {
    padding: 14px 12px;
    vertical-align: middle;
    text-align: left;
}
.dashboard-table-shell tbody tr:hover td {
    background: var(--go-row-hover);
}
.dashboard-table-shell tbody tr[data-dashboard-href],
.report-table-wrap tbody tr[data-row-href],
.table-wrap tbody tr[data-row-href] {
    cursor: pointer;
}
.dashboard-table-shell td a,
.dashboard-table-shell td span,
.dashboard-table-shell td div {
    vertical-align: middle;
}
.dashboard-table-shell td.money,
.dashboard-table-shell th.money,
.dashboard-table-shell td[data-label="Balance"],
.dashboard-table-shell td[data-label="Paid"],
.dashboard-table-shell td[data-label="Total"],
.dashboard-table-shell td[data-label="Invoices"] {
    text-align: right;
}
.dashboard-table-shell .dashboard-top-paying-invoices {
    text-align: center !important;
}
.dashboard-table-shell th.status-col,
.dashboard-table-shell td.status-col,
.dashboard-table-shell td[data-label="Status"] {
    width: 1%;
    white-space: nowrap;
    text-align: center;
}
.dashboard-wide-panel {
    display: grid;
    gap: 10px;
    padding: 14px 16px;
    box-shadow: none;
}
.dashboard-muted-heading {
    background: color-mix(in srgb, var(--go-bg) 36%, var(--go-surface));
    border-color: color-mix(in srgb, var(--go-border) 82%, var(--go-surface));
}
.dashboard-wide-panel h2 {
    margin: 0;
    color: var(--go-muted);
}
.dashboard-top-paying summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    list-style: none;
}
.dashboard-top-paying summary::-webkit-details-marker {
    display: none;
}
.dashboard-top-paying summary span {
    color: var(--go-muted);
}
.dashboard-top-paying .dashboard-table-shell {
    margin-top: 10px;
}
.dashboard-top-paying[open] .dashboard-top-paying-more,
.dashboard-top-paying:not([open]) .dashboard-top-paying-less {
    display: none;
}
.dashboard-attention-panel {
    gap: 16px;
    background: color-mix(in srgb, var(--go-danger-soft) 16%, var(--go-surface));
    border-color: color-mix(in srgb, var(--go-danger) 9%, var(--go-border));
    border-left: 4px solid color-mix(in srgb, var(--go-danger) 70%, transparent);
}
.dashboard-attention-panel .table-wrap tbody tr + tr td {
    border-top-color: transparent;
}
.dashboard-attention-panel .table-wrap td {
    padding-top: 15px;
    padding-bottom: 15px;
}
.dashboard-attention-panel .badge.warning,
.dashboard-attention-panel .badge.danger {
    color: #fff !important;
    background: var(--go-danger) !important;
    border-color: var(--go-danger) !important;
    font-weight: 800;
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.08);
}
.dashboard-page a:not(.badge):not(.badge-button):not(.button):not(.metric):not(.dashboard-attention-card):not(.go-action-button):not(.go-status-pill) {
    color: var(--go-primary);
}
.dashboard-mobile-only {
    display: none !important;
}
.dashboard-mobile-kpi-only {
    display: none;
}
.dashboard-mobile-list {
    gap: 10px;
}
.dashboard-mobile-list-card {
    display: grid;
    gap: 8px;
    padding: 12px 14px;
    border: 1px solid var(--go-border);
    border-radius: 14px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.dashboard-mobile-list-card.is-link {
    text-decoration: none;
    color: inherit;
}
.dashboard-mobile-list-card.is-link:active {
    transform: translateY(1px);
}
.dashboard-mobile-list-head,
.dashboard-mobile-list-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.dashboard-mobile-list-eyebrow {
    color: var(--go-muted);
    font-size: 10px;
    font-weight: var(--go-font-badge-weight);
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.dashboard-mobile-list-title {
    color: var(--go-text);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
}
.dashboard-mobile-list-meta {
    display: grid;
    gap: 2px;
}
.dashboard-mobile-list-support {
    color: var(--go-muted);
    font-size: 11px;
    line-height: 1.25;
}
.dashboard-mobile-chevron {
    color: var(--go-muted-light);
    font-size: 16px;
    line-height: 1;
    flex: 0 0 auto;
}
.dashboard-mobile-inline-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.dashboard-mobile-stat-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 7px;
    background: var(--go-surface-soft);
    border: 1px solid var(--go-border);
    color: var(--go-text-soft);
    font-size: var(--go-font-badge-size);
    font-weight: var(--go-font-badge-weight);
    text-transform: uppercase;
}
.dashboard-mobile-stat-chip.is-danger {
    color: var(--go-danger);
    border-color: color-mix(in srgb, var(--go-danger) 18%, var(--go-border));
    background: color-mix(in srgb, var(--go-danger-soft) 80%, var(--go-surface));
}
.dashboard-mobile-stat-chip.is-success {
    color: var(--go-primary);
    border-color: color-mix(in srgb, var(--go-primary) 18%, var(--go-border));
    background: color-mix(in srgb, var(--go-primary-soft) 80%, var(--go-surface));
}
.dashboard-mobile-empty {
    display: grid;
    gap: 4px;
    padding: 14px 12px;
    border: 1px solid var(--go-border);
    border-radius: 14px;
    background: color-mix(in srgb, var(--go-surface-soft) 80%, var(--go-surface));
    color: var(--go-muted);
    text-align: center;
}
.dashboard-mobile-empty strong {
    color: var(--go-text-soft);
    font-size: 14px;
    font-weight: 600;
}
.dashboard-muted-heading h2 {
    color: var(--go-muted);
    font-weight: 600;
}
.dashboard-mobile-section {
    display: grid;
    gap: 10px;
}
.dashboard-mobile-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.dashboard-mobile-section-head h2 {
    margin: 0;
    color: var(--go-text);
    font-size: 15px;
    font-weight: 700;
}
.dashboard-mobile-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid color-mix(in srgb, var(--go-primary) 22%, var(--go-border));
    border-radius: 7px;
    background: color-mix(in srgb, var(--go-primary-soft) 82%, var(--go-surface));
    color: var(--go-primary);
    font-size: 12px;
    font-weight: 800;
}
.dashboard-mobile-attention-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
    gap: 8px;
}
.dashboard-mobile-kpi-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
.dashboard-mobile-attention-card,
.dashboard-mobile-kpi-card,
.dashboard-mobile-panel,
.dashboard-mobile-row-link,
.dashboard-mobile-empty-state {
    min-width: 0;
    border: 1px solid var(--go-border);
    border-radius: 10px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
}
.dashboard-mobile-attention-card,
.dashboard-mobile-kpi-card {
    position: relative;
    display: grid;
    align-content: center;
    min-height: 68px;
    gap: 4px;
    padding: 9px 20px 9px 10px;
    color: inherit;
    text-align: center;
    text-decoration: none;
}
.dashboard-mobile-attention-card::after,
.dashboard-mobile-kpi-card::after,
.dashboard-mobile-row-link::after {
    content: '›';
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--go-muted);
    font-size: 14px;
    line-height: 1;
}
.dashboard-mobile-attention-card span,
.dashboard-mobile-kpi-card span {
    color: var(--go-muted);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.15;
    text-transform: uppercase;
}
.dashboard-mobile-attention-card strong,
.dashboard-mobile-kpi-card strong {
    color: var(--go-text);
    font-size: 17px;
    font-weight: 800;
    line-height: 1;
}
.dashboard-mobile-attention-card small {
    display: none;
}
.dashboard-mobile-attention-card em {
    justify-self: center;
    width: fit-content;
    margin-top: 2px;
    padding: 2px 7px;
    border: 1px solid currentColor;
    border-radius: 6px;
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
    line-height: 1.2;
}
.dashboard-mobile-attention-card em.is-placeholder {
    visibility: hidden;
}
.dashboard-mobile-attention-card.is-danger {
    border-color: color-mix(in srgb, var(--go-danger) 38%, var(--go-border));
}
.dashboard-mobile-attention-card.is-danger em {
    color: var(--go-danger);
    background: color-mix(in srgb, var(--go-danger-soft) 70%, var(--go-surface));
}
.dashboard-mobile-attention-card.is-open {
    border-color: color-mix(in srgb, var(--go-primary) 38%, var(--go-border));
}
.dashboard-mobile-attention-card.is-open em {
    color: var(--go-primary);
    background: color-mix(in srgb, var(--go-primary-soft) 76%, var(--go-surface));
}
.dashboard-mobile-panel {
    display: grid;
    gap: 0;
    padding: 0;
    overflow: hidden;
}
.dashboard-mobile-row-link {
    position: relative;
    display: grid;
    padding: 12px 28px 12px 12px;
    border-width: 0 0 1px;
    border-radius: 0;
    box-shadow: none;
    color: inherit;
    text-decoration: none;
}
.dashboard-mobile-row-link:last-child {
    border-bottom: 0;
}
.dashboard-mobile-row-link strong,
.dashboard-mobile-empty-state strong {
    display: block;
    color: var(--go-text);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
}
.dashboard-mobile-row-link small,
.dashboard-mobile-empty-state span {
    display: block;
    margin-top: 3px;
    color: var(--go-muted);
    font-size: 11px;
    line-height: 1.3;
}
.dashboard-mobile-empty-state {
    padding: 14px 12px;
    text-align: center;
}
body[data-theme-choice="modern"] .dashboard-page {
    gap: 18px;
}
body[data-theme-choice="modern"] .dashboard-page-header {
    margin-bottom: 4px;
}
body[data-theme-choice="modern"] .dashboard-section-attention {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}
body[data-theme-choice="modern"] .dashboard-attention-card {
    background: var(--go-surface);
    border-color: var(--go-border);
}
body[data-theme-choice="modern"] .dashboard-page .dashboard-kpis .metric,
body[data-theme-choice="modern"] .dashboard-page .dashboard-summary-row .metric,
body[data-theme-choice="modern"] .dashboard-page .dashboard-panel,
body[data-theme-choice="modern"] .dashboard-page .dashboard-wide-panel {
    background: var(--go-surface);
    border-color: var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
body[data-theme-choice="modern"] .dashboard-table-shell .table-wrap {
    background: transparent;
    border: 0;
    box-shadow: none;
}
body[data-theme-choice="modern"] .dashboard-attention-panel {
    background: color-mix(in srgb, var(--go-danger-soft) 18%, var(--go-surface));
    border-left-color: color-mix(in srgb, var(--go-danger) 72%, transparent);
}
body[data-theme-choice="modern"] .dashboard-page .dashboard-kpis .dashboard-kpi-due {
    background: color-mix(in srgb, var(--go-danger-soft) 24%, var(--go-surface)) !important;
    border-color: color-mix(in srgb, var(--go-danger) 12%, var(--go-border)) !important;
}
body[data-theme-choice="modern"] .dashboard-page .dashboard-kpis .dashboard-kpi-open {
    background: color-mix(in srgb, var(--go-warning-soft) 24%, var(--go-surface)) !important;
}
body[data-theme-choice="modern"] .dashboard-page .dashboard-kpis .dashboard-kpi-paid {
    background: var(--go-surface) !important;
    border-color: var(--go-border) !important;
}
@media (max-width: 960px) {
    .dashboard-page {
        display: flex;
        flex-direction: column;
        gap: 14px;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-x: clip;
    }
    .dashboard-page:has(> .dashboard-mobile-home) > :not(.dashboard-page-header):not(.dashboard-mobile-home) {
        display: none !important;
    }
    .dashboard-page > .dashboard-mobile-home {
        order: 1;
        display: grid;
        gap: 16px;
        width: 100%;
        min-width: 0;
    }
    .dashboard-page > *,
    .dashboard-section,
    .dashboard-panel-grid,
    .dashboard-wide-panel,
    .dashboard-table-shell,
    .dashboard-mobile-list {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }
    .dashboard-top-blocks {
        display: contents;
    }
    .dashboard-top-blocks .dashboard-section-attention,
    .dashboard-top-blocks .dashboard-mobile-order-kpis {
        grid-column: auto !important;
    }
    .dashboard-page > * {
        order: 20;
    }
    .dashboard-page-header {
        order: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .dashboard-page-header-copy h1 {
        font-size: 24px;
        line-height: 1.1;
    }
    .dashboard-page-header-copy p {
        margin-top: 6px;
        max-width: none;
        font-size: 12px;
        line-height: 1.35;
    }
    .dashboard-page-header-actions {
        display: none;
    }
    .dashboard-section-priority {
        margin-top: 0;
    }
    .dashboard-mobile-order-attention {
        order: 1;
    }
    .dashboard-mobile-order-kpis {
        order: 2;
    }
    .dashboard-kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }
    .dashboard-top-blocks .dashboard-kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
    .dashboard-panel-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px;
    }
    .dashboard-mobile-order-upcoming {
        display: contents !important;
    }
    .dashboard-mobile-order-recurring {
        order: 3;
    }
    .dashboard-mobile-order-campaign {
        order: 4;
    }
    .dashboard-mobile-order-activity {
        order: 5;
    }
    .dashboard-page .dashboard-kpis .metric,
    .dashboard-page .dashboard-summary-row .metric,
    .dashboard-page .dashboard-panel,
    .dashboard-page .dashboard-wide-panel {
        padding: 10px 12px;
    }
    .dashboard-page .dashboard-kpis .metric,
    .dashboard-page .dashboard-summary-row .metric {
        position: relative;
        align-content: start;
        justify-items: start;
        text-align: left;
        gap: 6px;
        border-radius: 12px;
    }
    .dashboard-page .dashboard-kpis .metric {
        align-content: center;
        justify-items: center;
        min-height: 72px;
        min-width: 0;
        text-align: center;
    }
    .dashboard-page .dashboard-kpis .metric-label {
        font-size: 10px;
        line-height: 1.15;
    }
    .dashboard-kpis .metric-label,
    .dashboard-summary-row .metric-label,
    .dashboard-kpis .metric strong,
    .dashboard-summary-row .metric strong,
    .dashboard-kpi-help {
        text-align: left;
    }
    .dashboard-kpis .metric-label,
    .dashboard-kpis .metric strong,
    .dashboard-kpis .dashboard-kpi-help {
        text-align: center;
    }
    .dashboard-page .dashboard-kpis a.metric::after {
        content: '›';
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--go-muted);
        font-size: 14px;
        line-height: 1;
    }
    .dashboard-page .dashboard-kpis a.metric {
        padding-right: 26px;
    }
    .dashboard-page .dashboard-kpis .metric strong {
        font-size: 18px;
    }
    .dashboard-page .dashboard-kpis .dashboard-kpi-balance,
    .dashboard-page .dashboard-kpis .dashboard-kpi-paid {
        align-content: center;
        justify-items: center;
        text-align: center;
    }
    .dashboard-page .dashboard-kpis .dashboard-kpi-balance .metric-label,
    .dashboard-page .dashboard-kpis .dashboard-kpi-paid .metric-label,
    .dashboard-page .dashboard-kpis .dashboard-kpi-balance strong,
    .dashboard-page .dashboard-kpis .dashboard-kpi-paid strong,
    .dashboard-page .dashboard-kpis .dashboard-kpi-balance .dashboard-kpi-help,
    .dashboard-page .dashboard-kpis .dashboard-kpi-paid .dashboard-kpi-help {
        text-align: center;
    }
    .dashboard-kpi-help {
        font-size: 10px;
        line-height: 1.2;
    }
    .dashboard-section-heading h2 {
        font-size: 15px;
    }
    .dashboard-section-heading p {
        display: none;
    }
    .dashboard-section-attention {
        gap: 10px;
    }
    .dashboard-section-attention .dashboard-mobile-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
    }
    .dashboard-attention-grid {
        display: none;
    }
    .dashboard-mobile-only {
        display: grid !important;
    }
    .dashboard-mobile-kpi-only {
        display: grid;
    }
    .dashboard-mobile-order-upcoming .dashboard-mobile-order-action-queue {
        display: none;
    }
    .dashboard-mobile-order-summary-insights {
        display: none;
    }
    .dashboard-mobile-replaced .dashboard-table-shell > .table-wrap {
        display: none;
    }
    .dashboard-mobile-list-card .go-status-pill {
        justify-self: end;
    }
    .dashboard-mobile-list-head .go-status-pill,
    .dashboard-mobile-list-row .go-status-pill {
        flex: 0 0 auto;
    }
    .dashboard-mobile-list-card,
    .dashboard-mobile-empty,
    .dashboard-page .dashboard-panel,
    .dashboard-page .dashboard-wide-panel {
        border-radius: 12px;
    }
    .dashboard-section-attention .dashboard-mobile-list-card {
        align-content: center;
        min-height: 72px;
        padding: 10px 12px;
    }
    .dashboard-section-attention .dashboard-mobile-list-head {
        align-items: center;
    }
    .dashboard-section-attention .dashboard-mobile-list-title {
        font-size: 12px;
    }
    .dashboard-section-attention .dashboard-mobile-list-support {
        font-size: 10px;
    }
    .dashboard-panel-tight .dashboard-panel-subtitle,
    .dashboard-summary-panel .dashboard-panel-subtitle {
        min-height: 0;
    }
}
@media (max-width: 680px) {
    .dashboard-kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }
    .dashboard-page .dashboard-kpis .metric strong {
        font-size: 17px;
    }
    .dashboard-mobile-list-card,
    .dashboard-mobile-empty {
        padding: 10px 12px;
    }
    .dashboard-mobile-list-title {
        font-size: 12px;
    }
}
/* Client detail page migrated from resources/views/ghm-ops/clients/show.blade.php */
.client-show {
    display: grid;
    gap: 20px;
}
.client-mobile-detail {
    display: none;
}
.client-mobile-back-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.client-mobile-display-name {
    margin: 0;
    color: #111827;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0;
    text-align: right;
    text-transform: uppercase;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.client-show-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.client-show-header-copy p {
    line-height: 1.55;
    max-width: 760px;
}
.client-deceased-notice {
    border-left-color: var(--go-danger);
    background: color-mix(in srgb, var(--go-danger-soft) 72%, var(--go-surface));
    color: var(--go-text);
}
.client-deceased-notice strong {
    color: var(--go-danger);
}
.client-show-overview {
    display: grid;
    gap: 14px;
    padding: 18px;
}
.client-show-overview h2,
.client-show-section h2 {
    margin: 0;
    color: var(--go-text);
}
.client-show-overview p {
    margin: 0;
    color: var(--go-text);
    line-height: 1.55;
}
.client-show-overview strong {
    color: var(--go-text);
}
.client-show-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 18px;
}
.client-show-detail-item {
    display: grid;
    gap: 4px;
}
.client-show-detail-item label {
    color: var(--go-muted);
    font-size: var(--go-font-label-size);
    font-weight: var(--go-font-label-weight);
}
.client-show-tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.client-show-summary {
    margin-top: 0;
}
.client-show-summary .metric {
    justify-items: center;
    align-content: center;
    text-align: center;
    min-height: 78px;
    padding: 12px 10px;
    gap: 8px;
}
.client-show-summary .metric strong {
    font-size: 16px;
}
.client-show-mobile-summary {
    display: none;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.client-show-mobile-metric {
    display: grid;
    gap: 6px;
    padding: 14px;
    border: 1px solid var(--go-border);
    border-radius: 14px;
    background: var(--go-surface);
}
.client-show-mobile-metric span {
    color: var(--go-muted);
    font-size: var(--go-font-label-size);
    font-weight: var(--go-font-label-weight);
}
.client-show-mobile-metric strong {
    color: var(--go-text);
    font-size: clamp(1.05rem, 0.95rem + 0.7vw, 1.35rem);
    line-height: 1.1;
}
.client-show-notes-card {
    display: grid;
    gap: 10px;
    padding: 18px;
}
.client-show-notes-card p {
    margin: 0;
    color: var(--go-text);
    line-height: 1.6;
}
.client-show-section {
    display: grid;
    gap: 10px;
}
.client-show-section .table-wrap {
    border-radius: 10px;
    overflow: hidden;
}
.client-workspace-grid {
    display: grid;
    grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}
.client-workspace-rail,
.client-workspace-main {
    display: grid;
    gap: 14px;
    min-width: 0;
}
.client-rail-panel,
.client-workspace-module {
    display: grid;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 8px;
    box-shadow: none;
}
.client-module-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
}
.client-module-head h2 {
    margin: 0;
    color: var(--go-muted);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}
.client-module-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex: 0 0 auto;
}
.client-module-actions > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 0 9px;
    border-radius: 6px;
    background: color-mix(in srgb, var(--go-bg) 72%, var(--go-surface));
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}
.client-module-actions .go-action-button {
    min-height: 26px;
    padding: 0 10px;
    border-radius: 7px;
    font-size: 11px;
}
.client-rail-balance {
    display: grid;
    gap: 4px;
    padding: 8px 0 12px;
    border-bottom: 1px solid var(--go-border);
}
.client-rail-balance span,
.client-rail-stat-grid span,
.client-rail-money-grid span,
.client-info-list span {
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}
.client-rail-balance strong {
    color: var(--go-text);
    font-size: 24px;
    line-height: 1;
}
.client-rail-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.client-rail-stat-grid div {
    display: grid;
    gap: 3px;
    padding: 8px;
    border-radius: 7px;
    background: color-mix(in srgb, var(--go-bg) 68%, var(--go-surface));
    text-align: center;
}
.client-rail-stat-grid strong {
    color: var(--go-text);
    font-size: 18px;
    line-height: 1;
}
.client-rail-money-grid,
.client-info-list {
    display: grid;
    gap: 9px;
}
.client-rail-money-grid {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
}
.client-rail-money-grid strong {
    color: var(--go-text);
    font-variant-numeric: tabular-nums;
}
.client-info-list div {
    display: grid;
    gap: 3px;
    min-width: 0;
}
.client-info-list strong {
    color: var(--go-text);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.client-info-list .client-auth-control,
.client-mobile-info-list .client-auth-control {
    display: block;
    min-width: 0;
    margin-top: 6px;
}
.client-auth-control form {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}
.client-auth-control input {
    width: auto;
    min-width: 0;
    flex: 1 1 auto;
}
.client-auth-control .go-action-button {
    flex: 0 0 auto;
}
.client-rail-note {
    margin: 0;
    color: var(--go-text);
    font-size: 12px;
    line-height: 1.55;
    white-space: pre-wrap;
}
.client-workspace-module table {
    table-layout: fixed;
}
.client-workspace-module th,
.client-workspace-module td {
    padding-top: 9px;
    padding-bottom: 9px;
}
.client-communications-list {
    display: grid;
    gap: 10px;
}
.client-communication-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--go-bg) 42%, var(--go-surface));
    color: var(--go-text);
    text-decoration: none;
}
.client-communication-card:hover {
    border-color: color-mix(in srgb, var(--go-primary) 24%, var(--go-border));
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
}
.client-communication-main {
    display: grid;
    gap: 4px;
    min-width: 0;
}
.client-communication-main span,
.client-communication-main small {
    color: var(--go-muted);
    font-size: 11px;
    line-height: 1.25;
}
.client-communication-main strong {
    color: var(--go-text);
    font-size: 13px;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.client-mobile-action-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
.client-mobile-action-row .legacy-action-menu,
.client-mobile-action-row .legacy-action-button,
.client-mobile-action-row .legacy-action-menu summary {
    width: 100%;
    min-width: 0;
}
.client-mobile-action-row .legacy-action-button,
.client-mobile-action-row .legacy-action-menu summary {
    min-height: 34px;
    justify-content: center;
    padding-inline: 10px;
}
.client-mobile-card {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--go-border);
    border-radius: 10px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
}
.client-mobile-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, auto);
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
}
.client-mobile-section-head h2 {
    margin: 0;
    color: var(--go-muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}
.client-mobile-section-head a {
    color: var(--go-primary);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}
.client-mobile-section-name {
    min-width: 0;
    color: var(--go-muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    text-align: right;
    text-transform: uppercase;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.client-mobile-balance {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    gap: 12px;
}
.client-mobile-balance span,
.client-mobile-metric-grid span,
.client-mobile-money-grid span,
.client-mobile-info-list span {
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}
.client-mobile-balance strong {
    color: var(--go-text);
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
    text-align: right;
    white-space: nowrap;
}
.client-mobile-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}
.client-mobile-metric-grid div {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 9px 8px;
    border: 1px solid color-mix(in srgb, var(--go-border) 72%, var(--go-surface));
    border-radius: 8px;
    background: color-mix(in srgb, var(--go-bg) 62%, var(--go-surface));
    text-align: center;
}
.client-mobile-metric-grid strong {
    color: var(--go-text);
    font-size: 16px;
    font-weight: 800;
    line-height: 1;
}
.client-mobile-money-grid,
.client-mobile-info-list {
    display: grid;
    gap: 9px;
}
.client-mobile-money-grid,
.client-mobile-info-list div {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
}
.client-mobile-info-list div {
    display: grid;
    grid-template-columns: minmax(86px, max-content) minmax(0, 1fr);
    gap: 12px;
}
.client-mobile-money-grid strong,
.client-mobile-info-list strong {
    min-width: 0;
    color: var(--go-text);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    text-align: right;
    overflow-wrap: anywhere;
}
.client-mobile-info-list strong {
    text-align: left;
}
.client-mobile-note {
    margin: 0;
    color: var(--go-text);
    font-size: 12px;
    line-height: 1.5;
    white-space: pre-wrap;
}
.client-mobile-row-list {
    display: grid;
    gap: 0;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--go-border) 72%, var(--go-surface));
    border-radius: 9px;
}
.client-mobile-row-link {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 11px 12px;
    border-bottom: 1px solid color-mix(in srgb, var(--go-border) 72%, var(--go-surface));
    color: inherit;
    text-decoration: none;
}
.client-mobile-row-link:last-child {
    border-bottom: 0;
}
.client-mobile-row-link > a {
    min-width: 0;
    color: inherit;
    text-decoration: none;
}
.client-mobile-row-link strong {
    display: block;
    color: var(--go-text);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.client-mobile-row-link small {
    display: block;
    margin-top: 3px;
    color: var(--go-muted);
    font-size: 11px;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.client-mobile-row-link .go-status-pill {
    align-self: center;
}
.client-mobile-empty {
    padding: 14px 12px;
    color: var(--go-muted);
    font-size: 12px;
    text-align: center;
}
.client-show :where(
    .client-mobile-display-name,
    .client-module-head h2,
    .client-module-actions > span,
    .client-rail-balance span,
    .client-rail-stat-grid span,
    .client-rail-money-grid span,
    .client-rail-balance strong,
    .client-rail-stat-grid strong,
    .client-rail-money-grid strong,
    .client-communication-main strong,
    .client-mobile-section-head h2,
    .client-mobile-section-head a,
    .client-mobile-section-name,
    .client-mobile-balance span,
    .client-mobile-metric-grid span,
    .client-mobile-money-grid span,
    .client-mobile-balance strong,
    .client-mobile-metric-grid strong,
    .client-mobile-money-grid strong,
    .client-mobile-row-link strong
) {
    font-weight: 400;
}
@media (max-width: 960px) {
    .client-show-header,
    .client-show-detail-grid {
        grid-template-columns: 1fr;
    }
    .client-show-header {
        flex-direction: column;
        align-items: stretch;
    }
    .client-workspace-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 960px) {
    .client-show {
        gap: 18px;
    }
    .app-back-row.app-back-row-mobile-hidden {
        display: none;
    }
    .client-desktop-header,
    .client-desktop-workspace {
        display: none;
    }
    .client-show > .client-mobile-detail {
        display: grid;
        gap: 14px;
    }
    .client-show-header-actions {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }
    .client-show-header-actions .legacy-action-menu,
    .client-show-header-actions .legacy-action-button,
    .client-show-header-actions .legacy-action-menu summary {
        width: 100%;
        min-width: 0;
    }
    .client-show-header-actions .legacy-action-button,
    .client-show-header-actions .legacy-action-menu summary,
    .client-show-header-actions .go-action-button {
        justify-content: center;
        min-height: 34px;
        padding-inline: 10px;
    }
    .client-show-header-copy p,
    .client-mobile-display-name {
        margin: 0;
        color: #111827;
        font-size: 13px;
        font-weight: 800;
        line-height: 1.25;
        letter-spacing: 0;
        text-transform: uppercase;
    }
    .client-show-overview {
        padding: 16px;
        gap: 16px;
    }
    .client-show-mobile-summary {
        display: grid;
    }
    .client-show-summary {
        display: none;
    }
    .client-show-detail-item.is-secondary {
        display: none;
    }
    .client-show-section .table-wrap {
        border-radius: 14px;
    }
    .client-rail-panel,
    .client-workspace-module {
        padding: 14px;
        border-radius: 10px;
    }
    .client-module-head h2 {
        font-size: 12px;
    }
    .client-communication-card {
        grid-template-columns: 1fr;
    }
    .client-communication-card .go-status-pill {
        justify-self: start;
    }
}
@media (max-width: 680px) {
    .client-show-mobile-summary {
        grid-template-columns: 1fr;
    }
}


/* Invoices list page migrated from resources/views/ghm-ops/invoices/index.blade.php */
.invoices-page {
    display: grid;
    gap: 22px;
}
.invoices-page table {
    table-layout: fixed;
}
.invoice-index-summary {
    display: grid;
    width: min(100%, 592px);
    grid-auto-flow: row;
    grid-auto-columns: unset;
    grid-template-columns: repeat(5, minmax(92px, 1fr));
    gap: 8px;
    max-width: none;
    margin: 0;
    justify-content: stretch;
}
.invoice-index-summary .metric {
    padding: 7px 10px;
    min-height: 48px;
    text-align: center;
    justify-items: center;
    align-content: center;
    gap: 4px;
}
.invoice-index-summary .metric strong {
    font-size: 14px;
}
.invoice-index-summary .metric-label {
    font-size: 12px;
    text-align: center;
}
.pay-text-mobile {
    display: none;
}
.balance-label-mobile {
    display: none;
}
.mobile-summary-value {
    display: none;
}
.invoice-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 2px 0 0;
}
.invoice-page-header-copy h1 {
    margin: 0;
    color: var(--go-text);
}
.invoice-page-header-copy p {
    margin: 10px 0 0;
    color: var(--go-muted);
    line-height: 1.55;
    max-width: 760px;
}
.invoice-header-status-form {
    flex: 0 0 170px;
    margin-left: auto;
}
.invoice-header-status-form label {
    margin: 0;
}
.invoice-header-status-form select {
    min-height: 34px;
    padding-top: 6px;
    padding-bottom: 6px;
}
.invoice-summary-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    min-width: 0;
    margin-top: -8px;
}
.invoice-table-shell {
    display: grid;
    gap: 8px;
}
.invoice-table-count {
    justify-self: end;
    margin: 0 12px -2px 0;
    padding: 4px 9px;
    border-radius: 6px;
    background: color-mix(in srgb, var(--go-bg) 72%, var(--go-surface));
    color: var(--go-muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.15;
    text-transform: uppercase;
}
.invoice-mobile-list {
    display: none;
    gap: 12px;
}
.invoice-mobile-card {
    display: grid;
    gap: 12px;
    padding: 15px 16px;
    border: 1px solid var(--go-border);
    border-radius: 14px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.invoice-mobile-main {
    display: grid;
    gap: 10px;
    text-decoration: none;
    color: inherit;
}
.invoice-mobile-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
}
.invoice-mobile-title-row {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}
.invoice-mobile-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: color-mix(in srgb, var(--go-primary-soft) 58%, var(--go-surface));
    color: var(--go-primary);
}
.invoice-mobile-title-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}
.invoice-mobile-head strong {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: var(--go-text);
}
.invoice-mobile-client {
    color: var(--go-text-soft);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.45;
}
.invoice-mobile-support {
    color: var(--go-muted);
    font-size: 12px;
    line-height: 1.45;
}
.invoice-mobile-date {
    color: var(--go-muted);
    font-size: 12px;
    line-height: 1.4;
}
.invoice-mobile-amounts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 10px 0 2px;
}
.invoice-mobile-amount {
    display: grid;
    gap: 4px;
}
.invoice-mobile-amount-label {
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.invoice-mobile-amount-value {
    color: var(--go-text);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}
.invoice-mobile-amount-value.is-muted {
    color: var(--go-muted);
    font-weight: 500;
}
.invoice-mobile-amount-value.is-balance {
    color: var(--go-danger);
}
.invoice-mobile-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--go-muted);
    font-size: 12px;
}
.invoice-mobile-meta-support {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.invoice-mobile-recurring-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 9px;
    border-radius: 7px;
    background: color-mix(in srgb, var(--go-bg) 74%, var(--go-surface));
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}
.invoice-mobile-recurring-badge.is-active {
    background: color-mix(in srgb, var(--go-primary-soft) 72%, var(--go-surface));
    color: var(--go-primary);
}
.invoice-mobile-chevron {
    color: var(--go-muted-light);
    line-height: 1;
}
.invoice-mobile-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}
.invoice-mobile-actions .go-action-button {
    min-height: 42px;
}
.invoice-mobile-recurring {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--go-muted);
    font-size: 12px;
    white-space: nowrap;
}
.invoice-mobile-actions .go-action-button.is-utility {
    min-width: 126px;
    justify-content: center;
}
.invoice-mobile-empty {
    padding: 20px 18px;
    border: 1px solid var(--go-border);
    border-radius: 14px;
    background: var(--go-surface);
    color: var(--go-muted);
    text-align: center;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.invoice-table-shell .table-wrap {
    overflow: hidden;
}
.invoice-table-shell table {
    width: 100%;
    table-layout: fixed;
}
.invoice-table-shell thead th:nth-child(1) {
    width: 96px;
}
.invoice-table-shell thead th:nth-child(2) {
    width: 210px;
}
.invoice-table-shell thead th:nth-child(3) {
    width: auto;
}
.invoice-table-shell thead th:nth-child(4) {
    width: 72px;
}
.invoice-table-shell thead th:nth-child(5) {
    width: 62px;
}
.invoice-table-shell thead th:nth-child(6),
.invoice-table-shell thead th:nth-child(7) {
    width: 92px;
}
.invoice-table-shell thead th:nth-child(8),
.invoice-table-shell thead th:nth-child(9) {
    width: 92px;
}
.invoice-table-shell thead th {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-right: 8px;
    padding-left: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.invoice-table-shell thead th:nth-child(4),
.invoice-table-shell thead th:nth-child(5),
.invoice-table-shell thead th:nth-child(6),
.invoice-table-shell thead th:nth-child(7) {
    text-align: center;
}
.invoice-table-shell thead th:nth-child(8),
.invoice-table-shell thead th:nth-child(9) {
    text-align: right;
}
.invoice-table-shell tbody td {
    max-width: 0;
    vertical-align: middle;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-right: 8px;
    padding-left: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.invoice-table-shell tbody tr.invoice-row-clickable {
    cursor: pointer;
}
.invoice-table-shell tbody tr:hover td {
    background: #EEF2F6;
}
.invoice-table-shell td[data-label="Invoice"] a,
.invoice-table-shell td[data-label="Client"] a {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-decoration: none;
    transition: color .15s ease;
}
.invoice-table-shell td[data-label="Invoice"] a:hover,
.invoice-table-shell td[data-label="Client"] a:hover {
    color: var(--go-primary);
}
.invoice-table-shell td[data-label="Invoice"] {
    color: var(--go-text);
    font-weight: 700;
}
.invoice-table-shell td[data-label="Client"] {
    color: var(--go-text);
}
.invoice-table-shell td[data-label="Items"],
.invoice-table-shell td[data-label="Date"],
.invoice-table-shell td[data-label="Due Date"] {
    color: var(--go-muted);
}
.invoice-table-shell td[data-label="Status"],
.invoice-table-shell td[data-label="Paid"],
.invoice-table-shell td[data-label="Date"],
.invoice-table-shell td[data-label="Due Date"] {
    text-align: center;
}
.invoice-table-shell td[data-label="Balance"],
.invoice-table-shell td[data-label="Total"] {
    text-align: right;
}
.invoice-items-cell {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.invoice-payment-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 24px;
    padding: 3px 10px;
    border: 1px solid var(--go-border);
    border-radius: 6px;
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}
.invoice-payment-state.has-payment {
    border-color: color-mix(in srgb, var(--go-primary) 24%, var(--go-border));
    background: var(--go-primary-soft);
    color: var(--go-primary);
}
.invoice-payment-state.is-empty {
    background: color-mix(in srgb, var(--go-bg) 66%, var(--go-surface));
}
.invoice-table-shell .money {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.invoice-table-shell .invoice-paid {
    text-align: center;
}
.invoice-table-shell .invoice-paid-value {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}
.invoice-table-shell .invoice-total {
    font-weight: 800;
    color: var(--go-text);
}
.invoice-table-shell .invoice-paid.is-zero {
    color: var(--go-muted);
    font-weight: 500;
}
.invoice-table-shell .invoice-balance.has-balance {
    font-weight: 900;
    color: var(--go-danger);
}
.invoice-table-shell .invoice-balance.is-clear {
    font-weight: 700;
    color: var(--go-text);
}
.invoice-table-shell .invoice-action-group {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: wrap;
}
.invoice-table-shell .table-action-cell {
    text-align: right;
}
.invoice-table-shell .table-action-cell > * {
    margin-inline-start: auto;
}
body[data-theme-choice="modern"] .invoices-page {
    gap: 22px;
}
body[data-theme-choice="modern"] .invoice-page-header-copy h1 {
    color: var(--go-text);
}
body[data-theme-choice="modern"] .invoice-page-header-copy p {
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .invoice-table-shell .table-wrap,
body[data-theme-choice="modern"] .invoice-index-summary .metric {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
body[data-theme-choice="modern"] .invoice-index-summary {
    max-width: none;
    margin: 0;
}
body[data-theme-choice="modern"] .invoice-index-summary .metric {
    min-height: 48px;
    padding: 7px 10px;
    text-align: center;
    justify-items: center;
    align-content: center;
    gap: 4px;
    border-radius: 8px;
    position: relative;
}
body[data-theme-choice="modern"] .invoice-index-summary .metric:first-child strong {
    font-size: 14px;
}
body[data-theme-choice="modern"] .invoice-index-summary .metric-label {
    text-align: center;
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .invoice-index-summary .metric strong {
    color: var(--go-text);
    font-size: 14px;
}
body[data-theme-choice="modern"] .invoice-index-summary .metric:nth-child(1) {
    background: var(--go-surface);
    border-color: color-mix(in srgb, var(--go-warning) 42%, var(--go-border));
}
body[data-theme-choice="modern"] .invoice-index-summary .metric:nth-child(2) {
    background: var(--go-surface);
    border-color: color-mix(in srgb, var(--go-primary) 42%, var(--go-border));
}
body[data-theme-choice="modern"] .invoice-index-summary .metric:nth-child(3) {
    background: var(--go-surface);
    border-color: color-mix(in srgb, var(--go-success) 42%, var(--go-border));
}
body[data-theme-choice="modern"] .invoice-index-summary .metric:nth-child(4) {
    background: var(--go-surface);
    border-color: color-mix(in srgb, var(--go-danger) 44%, var(--go-border));
}
body[data-theme-choice="modern"] .invoice-index-summary .metric:nth-child(4) .metric-label,
body[data-theme-choice="modern"] .invoice-index-summary .metric:nth-child(4) strong {
    color: var(--go-danger);
}
body[data-theme-choice="modern"] .invoice-table-shell .table-wrap {
    border-radius: 10px;
    overflow: hidden;
}
body[data-theme-choice="modern"] .invoice-table-shell thead th {
    color: var(--go-muted);
    font-weight: 600;
    background: transparent;
}
body[data-theme-choice="modern"] .invoice-table-shell tbody td {
    padding-top: 10px;
    padding-bottom: 10px;
}
body[data-theme-choice="modern"] .invoice-table-shell tbody tr:hover td {
    background: #E9EEF4;
}
body[data-theme-choice="modern"] .invoice-table-shell .money {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: var(--go-text);
}
body[data-theme-choice="modern"] .invoice-table-shell td[data-label="Invoice"] a,
body[data-theme-choice="modern"] .invoice-table-shell td[data-label="Client"] a {
    color: var(--go-text);
}
@media (max-width: 960px) {
    .invoices-page {
        gap: 16px;
    }
    .invoice-page-header {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .invoice-page-header-copy p {
        margin-top: 6px;
        max-width: none;
        width: 100%;
        overflow-wrap: anywhere;
    }
    .invoice-header-status-form {
        width: 100%;
        flex: none;
        margin-left: 0;
    }
    .invoice-summary-row {
        display: block;
        grid-column: 1 / -1;
        justify-self: stretch;
        width: 100%;
        min-width: 0;
    }
    .invoice-index-summary {
        display: grid !important;
        grid-auto-flow: row !important;
        grid-auto-columns: unset !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        justify-content: stretch !important;
        gap: 6px;
        width: 100% !important;
        min-width: 0;
        max-width: none !important;
    }
    body[data-theme-choice="modern"] .invoice-index-summary .metric {
        min-height: 54px;
        padding: 7px 4px;
        text-align: center;
        justify-items: center;
        min-width: 0;
    }
    body[data-theme-choice="modern"] .invoice-index-summary .metric-label {
        text-align: center;
    }
}
@media (max-width: 960px) {
    .invoice-index-summary .metric {
        padding: 7px 4px;
        min-height: 54px;
    }
    .invoice-index-summary .metric strong {
        font-size: 13px;
    }
    .invoice-index-summary .metric-label {
        font-size: 11px;
    }
    .desktop-summary-value {
        display: none;
    }
    .mobile-summary-value {
        display: inline;
    }
    .invoice-table-shell {
        display: none;
    }
    .invoice-mobile-list {
        display: grid;
    }
    .invoice-mobile-card .go-status-pill,
    .invoices-page .table-wrap.mobile-cards .go-status-pill {
        min-height: 24px;
        padding: 4px 8px;
        font-size: 11px;
        line-height: 1;
    }
    .invoices-page .table-wrap.mobile-cards td,
    .invoices-page .table-wrap.mobile-cards td > a,
    .invoices-page .table-wrap.mobile-cards td > span,
    .invoices-page .table-wrap.mobile-cards td > div,
    .invoices-page .table-wrap.mobile-cards td > p,
    .invoices-page .table-wrap.mobile-cards td > button {
        font-size: 13px;
    }
    .invoices-page .table-wrap.mobile-cards td::before {
        font-size: 12px;
    }
    .invoices-page .table-wrap.mobile-cards tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "invoice status"
            "client client"
            "date total"
            "actions paid"
            "actions balance";
        gap: 6px 12px;
    }
    .invoices-page .table-wrap.mobile-cards td[data-label="Invoice"] {
        grid-area: invoice;
    }
    .invoices-page .table-wrap.mobile-cards td[data-label="Status"] {
        grid-area: status;
        justify-self: end;
        width: max-content;
        justify-content: flex-end;
        text-align: right;
    }
    .invoices-page .table-wrap.mobile-cards td[data-label="Client"] {
        grid-area: client;
        grid-column: 1 / -1;
    }
    .invoices-page .table-wrap.mobile-cards td[data-label="Date"] {
        grid-area: date;
    }
    .invoices-page .table-wrap.mobile-cards td[data-label="Total"] {
        grid-area: total;
    }
    .invoices-page .table-wrap.mobile-cards td[data-label="Paid"] {
        grid-area: paid;
        justify-self: end;
        width: max-content;
    }
    .invoices-page .table-wrap.mobile-cards td[data-label="Actions"] {
        grid-area: actions;
        align-self: stretch;
    }
    .invoices-page .table-wrap.mobile-cards td[data-label="Balance"] {
        grid-area: balance;
        justify-self: end;
        width: max-content;
    }
    .invoices-page .table-wrap.mobile-cards td[data-label="Total"] {
        justify-self: end;
        width: max-content;
    }
    .invoices-page .table-wrap.mobile-cards td[data-label="Paid"],
    .invoices-page .table-wrap.mobile-cards td[data-label="Balance"],
    .invoices-page .table-wrap.mobile-cards td[data-label="Total"],
    .invoices-page .table-wrap.mobile-cards td[data-label="Actions"],
    .invoices-page .table-wrap.mobile-cards td[data-label="Status"] {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        padding: 0;
        border-bottom: 0;
        text-align: right;
    }
    .invoices-page .table-wrap.mobile-cards td[data-label="Paid"]::before,
    .invoices-page .table-wrap.mobile-cards td[data-label="Balance"]::before,
    .invoices-page .table-wrap.mobile-cards td[data-label="Total"]::before,
    .invoices-page .table-wrap.mobile-cards td[data-label="Actions"]::before,
    .invoices-page .table-wrap.mobile-cards td[data-label="Status"]::before {
        margin-bottom: 0;
        text-align: left;
        flex: 0 1 auto;
    }
    .invoices-page .table-wrap.mobile-cards td[data-label="Actions"]::before {
        content: none;
    }
    .invoices-page .table-wrap.mobile-cards td[data-label="Client"] > a,
    .invoices-page .table-wrap.mobile-cards td[data-label="Date"] > span,
    .invoices-page .table-wrap.mobile-cards td[data-label="Invoice"] > a {
        margin-left: 0;
    }
    .invoices-page .table-wrap.mobile-cards td[data-label="Paid"] > span,
    .invoices-page .table-wrap.mobile-cards td[data-label="Balance"] > span,
    .invoices-page .table-wrap.mobile-cards td[data-label="Total"] > span,
    .invoices-page .table-wrap.mobile-cards td[data-label="Actions"] > span,
    .invoices-page .table-wrap.mobile-cards td[data-label="Status"] > span,
    .invoices-page .table-wrap.mobile-cards td[data-label="Actions"] > button,
    .invoices-page .table-wrap.mobile-cards td[data-label="Actions"] > div,
    .invoices-page .table-wrap.mobile-cards td[data-label="Total"] > span {
        margin-left: auto;
    }
    .invoices-page .table-wrap.mobile-cards td[data-label="Recurring"] {
        display: none;
    }
    .invoices-page .table-wrap.mobile-cards .invoice-action-group {
        justify-content: flex-end;
    }
    .invoices-page .table-wrap.mobile-cards .invoice-action-group .go-action-button {
        min-height: 34px;
    }
    .invoices-page .table-wrap.mobile-cards td[colspan] {
        grid-column: 1 / -1;
    }
    .pay-text-desktop {
        display: none;
    }
    .pay-text-mobile {
        display: inline;
    }
    .balance-label-desktop {
        display: none;
    }
    .balance-label-mobile {
        display: inline;
    }
}
@media (max-width: 680px) {
    .invoice-mobile-card {
        padding: 13px 14px;
    }
    .invoice-mobile-title-row {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 10px;
    }
    .invoice-mobile-icon {
        width: 42px;
        height: 42px;
        border-radius: 12px;
    }
    .invoice-mobile-amounts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        padding-top: 8px;
    }
    .invoice-mobile-amount {
        min-width: 0;
    }
    .invoice-mobile-amount-label {
        font-size: 10px;
        letter-spacing: .02em;
    }
    .invoice-mobile-amount-value {
        font-size: 13px;
    }
    .invoice-mobile-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-items: stretch;
        gap: 8px;
    }
    .invoice-mobile-actions .go-action-button {
        width: 100%;
        min-height: 38px;
        padding-inline: 10px;
    }
    .invoice-mobile-actions .go-action-button.is-utility {
        min-width: 0;
    }
}


/* Invoice detail page migrated from resources/views/ghm-ops/invoices/show.blade.php */
.invoice-show-page {
    display: grid;
    gap: 20px;
}
.invoice-show-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.invoice-show-header-copy h1 {
    margin: 0;
    color: var(--go-text);
}
.invoice-show-header-copy p {
    margin: 8px 0 0;
    color: var(--go-muted);
    max-width: 760px;
}
.invoice-show-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.invoice-show-header-actions form,
.invoice-show-panel-actions form,
.invoice-show-form-actions form {
    margin: 0;
}
.invoice-show-summary {
    margin-bottom: 0;
}
.invoice-show-summary .metric {
    min-height: 84px;
    padding: 14px 16px;
    text-align: left;
    justify-items: start;
}
.invoice-client-metric {
    color: inherit;
    text-decoration: none;
}
.invoice-client-metric:hover {
    border-color: color-mix(in srgb, var(--go-primary) 30%, var(--go-border));
}
.invoice-client-metric:hover strong,
.invoice-mobile-hero-copy a:hover,
.invoice-mobile-payment-summary-top a:hover,
.invoice-mobile-payment-review-row a:hover {
    color: var(--go-primary);
}
.invoice-show-summary .metric-label,
.invoice-show-summary .metric p {
    text-align: left;
}
.invoice-show-section {
    display: grid;
    gap: 12px;
}
.invoice-show-standard-content {
    display: grid;
    gap: 22px;
}
.invoice-show-section h2 {
    margin: 0;
}
.invoice-show-panel {
    display: grid;
    gap: 12px;
}
.invoice-recurring-empty-panel {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
}
.invoice-show-panel p {
    margin: 0;
}
.invoice-show-panel-actions,
.invoice-show-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}
.invoice-email-control-row {
    grid-template-columns: minmax(220px, 1fr) minmax(160px, .7fr) auto;
    align-items: end;
    gap: 12px;
}
.invoice-email-control-row label {
    min-width: 0;
    margin: 0;
}
.invoice-email-control-row input {
    width: 100%;
}
.invoice-email-control-row .invoice-show-form-actions {
    flex-wrap: nowrap;
    justify-content: stretch;
}
.invoice-email-control-row .invoice-show-form-actions .go-action-button {
    min-height: var(--go-control-height);
    white-space: nowrap;
}
.invoice-recurring-empty-panel .invoice-show-panel-actions {
    justify-self: end;
    flex-wrap: nowrap;
}
.invoice-recurring-empty-panel .invoice-show-panel-actions .go-action-button {
    min-width: 120px;
    width: auto;
    white-space: nowrap;
}
.invoice-mobile-workspace {
    display: none;
}
.invoice-mobile-hero,
.invoice-mobile-overview-card,
.invoice-mobile-list-card {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--go-border);
    border-radius: 14px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.invoice-mobile-hero-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
}
.invoice-mobile-hero-copy {
    display: grid;
    gap: 4px;
}
.invoice-mobile-hero-copy strong {
    color: var(--go-text);
    font-size: 15px;
    line-height: 1.35;
}
.invoice-mobile-hero-copy span {
    color: var(--go-text-soft);
    font-size: 13px;
    line-height: 1.45;
}
.invoice-mobile-hero-copy a,
.invoice-mobile-payment-summary-top a,
.invoice-mobile-payment-review-row a {
    min-width: 0;
    color: var(--go-text-soft);
    font-size: 13px;
    line-height: 1.45;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.invoice-mobile-hero-total {
    display: grid;
    gap: 4px;
    justify-items: end;
    text-align: right;
}
.invoice-mobile-hero-total strong {
    color: var(--go-primary);
    font-size: 22px;
    line-height: 1.1;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.invoice-mobile-hero-total span {
    color: var(--go-muted);
    font-size: 12px;
}
.invoice-mobile-action-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--go-border);
}
.invoice-mobile-action-strip > * {
    min-width: 0;
}
.invoice-mobile-action-strip form {
    display: contents;
    margin: 0;
}
.invoice-mobile-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 112px;
    min-height: 38px;
    padding: 0 12px;
    color: var(--go-text-soft);
    text-decoration: none;
    background: color-mix(in srgb, var(--go-bg) 56%, var(--go-surface));
    border: 1px solid var(--go-border);
    border-radius: 8px;
    font: inherit;
    text-transform: none;
}
.invoice-mobile-action:hover {
    border-color: color-mix(in srgb, var(--go-primary) 32%, var(--go-border));
    background: color-mix(in srgb, var(--go-primary-soft) 28%, var(--go-surface));
}
.invoice-mobile-action strong {
    color: var(--go-text);
    font-size: 12px;
    font-weight: 500;
}
.invoice-mobile-action.is-primary strong {
    color: var(--go-primary);
}
.invoice-mobile-action.is-secondary-action strong {
    color: var(--go-muted);
}
.invoice-mobile-overview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}
.invoice-mobile-overview-row {
    display: grid;
    align-content: start;
    gap: 5px;
    min-width: 0;
    min-height: 64px;
    padding: 10px;
    border: 1px solid color-mix(in srgb, var(--go-border) 72%, var(--go-surface));
    border-radius: 8px;
    background: color-mix(in srgb, var(--go-bg) 58%, var(--go-surface));
    color: var(--go-muted);
    font-size: 12px;
    line-height: 1.25;
}
.invoice-mobile-overview-row span:last-child {
    color: var(--go-text);
    text-align: left;
    overflow-wrap: anywhere;
}
.invoice-mobile-item-list,
.invoice-mobile-activity-list {
    display: none;
}
.invoice-mobile-item-row,
.invoice-mobile-activity-row {
    display: grid;
    gap: 8px;
    padding: 14px 0;
    border-bottom: 1px solid var(--go-border);
}
.invoice-mobile-item-row:first-child,
.invoice-mobile-activity-row:first-child {
    padding-top: 0;
}
.invoice-mobile-item-row:last-child,
.invoice-mobile-activity-row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}
.invoice-mobile-item-row.is-last {
    border-bottom: 0;
    padding-bottom: 0;
}
.invoice-mobile-item-head,
.invoice-mobile-activity-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
}
.invoice-mobile-item-head strong,
.invoice-mobile-activity-head strong {
    color: var(--go-text);
    font-size: 14px;
    line-height: 1.35;
}
.invoice-mobile-item-meta,
.invoice-mobile-activity-meta {
    color: var(--go-muted);
    font-size: 13px;
    line-height: 1.5;
}
.invoice-mobile-item-amount,
.invoice-mobile-activity-amount {
    color: var(--go-text);
    font-size: 18px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.invoice-mobile-item-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    color: var(--go-muted);
    font-size: 12px;
}
.invoice-mobile-list-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--go-border);
    color: var(--go-text);
    font-weight: 700;
}
.invoice-mobile-list-total strong {
    color: var(--go-primary);
    font-size: 18px;
    font-variant-numeric: tabular-nums;
}
.invoice-mobile-muted-card {
    background: color-mix(in srgb, var(--go-bg) 72%, var(--go-surface));
}
.mobile-payment-trigger {
    display: none;
}
.invoice-mobile-payment-flow {
    display: none;
}
.invoice-mobile-payment-flow-card {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--go-border);
    border-radius: 14px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.invoice-mobile-payment-flow-head {
    display: grid;
    gap: 6px;
}
.invoice-mobile-payment-flow-head h2 {
    margin: 0;
    color: var(--go-text);
}
.invoice-mobile-payment-flow-head p {
    margin: 0;
    color: var(--go-muted);
    line-height: 1.5;
}
.invoice-mobile-payment-summary {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--go-border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--go-primary-soft) 20%, var(--go-surface));
}
.invoice-mobile-payment-summary-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
}
.invoice-mobile-payment-summary-top strong {
    display: block;
    font-size: 15px;
    color: var(--go-text);
}
.invoice-mobile-payment-summary-top span {
    color: var(--go-text-soft);
    font-size: 13px;
    line-height: 1.45;
}
.invoice-mobile-payment-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.invoice-mobile-payment-metric {
    display: grid;
    gap: 4px;
}
.invoice-mobile-payment-metric-label {
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.invoice-mobile-payment-metric-value {
    color: var(--go-text);
    font-size: 14px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.invoice-mobile-payment-metric-value.is-balance {
    color: var(--go-danger);
}
.invoice-mobile-payment-form {
    display: grid;
    gap: 14px;
}
.invoice-mobile-payment-form .grid {
    grid-template-columns: 1fr;
    gap: 12px;
}
.invoice-mobile-payment-form .stack {
    gap: 12px;
}
.invoice-mobile-payment-help {
    color: var(--go-muted);
    font-size: 12px;
    line-height: 1.5;
}
.invoice-mobile-payment-error {
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--go-danger) 24%, var(--go-border));
    border-radius: 10px;
    background: var(--go-danger-soft);
    color: var(--go-danger);
    font-size: 13px;
    line-height: 1.45;
}
.invoice-mobile-payment-success {
    display: grid;
    gap: 12px;
}
.invoice-mobile-payment-success-card {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid color-mix(in srgb, var(--go-success) 18%, var(--go-border));
    border-radius: 12px;
    background: color-mix(in srgb, var(--go-success-soft) 46%, var(--go-surface));
}
.invoice-mobile-payment-success-card h3 {
    margin: 0;
    color: var(--go-text);
}
.invoice-mobile-payment-success-card p {
    margin: 0;
    color: var(--go-text-soft);
    line-height: 1.5;
}
.invoice-mobile-payment-success-grid {
    display: grid;
    gap: 8px;
}
.invoice-mobile-payment-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
.invoice-mobile-payment-step {
    display: grid;
    gap: 4px;
    justify-items: center;
    text-align: center;
    padding: 10px 8px;
    border: 1px solid var(--go-border);
    border-radius: 12px;
    background: var(--go-surface-soft);
    color: var(--go-muted);
}
.invoice-mobile-payment-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    color: var(--go-text-soft);
    font-size: 12px;
    font-weight: 700;
}
.invoice-mobile-payment-step strong {
    color: var(--go-text-soft);
    font-size: 12px;
    line-height: 1.35;
}
.invoice-mobile-payment-step.is-active,
.invoice-mobile-payment-step.is-complete {
    border-color: color-mix(in srgb, var(--go-primary) 22%, var(--go-border));
    background: color-mix(in srgb, var(--go-primary-soft) 42%, var(--go-surface));
}
.invoice-mobile-payment-step.is-active .invoice-mobile-payment-step-number,
.invoice-mobile-payment-step.is-complete .invoice-mobile-payment-step-number {
    background: var(--go-primary);
    border-color: var(--go-primary);
    color: #fff;
}
.invoice-mobile-payment-step.is-active strong,
.invoice-mobile-payment-step.is-complete strong {
    color: var(--go-text);
}
.invoice-mobile-payment-success-row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: start;
    color: var(--go-text);
    font-size: 13px;
}
.invoice-mobile-payment-success-row span:first-child {
    color: var(--go-muted);
}
.invoice-mobile-payment-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}
.invoice-mobile-payment-stage {
    display: grid;
    gap: 14px;
}
.invoice-mobile-payment-stage[hidden] {
    display: none;
}
.invoice-mobile-payment-review {
    display: grid;
    gap: 14px;
}
.invoice-mobile-payment-review-card {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--go-border);
    border-radius: 12px;
    background: var(--go-surface);
}
.invoice-mobile-payment-review-card h3 {
    margin: 0;
    color: var(--go-text);
    font-size: 15px;
}
.invoice-mobile-payment-review-grid {
    display: grid;
    gap: 8px;
}
.invoice-mobile-payment-review-row {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 12px;
    color: var(--go-text);
    font-size: 13px;
    line-height: 1.5;
}
.invoice-mobile-payment-review-row span:first-child {
    color: var(--go-muted);
}
.invoice-mobile-payment-review-row strong {
    text-align: right;
}
.invoice-mobile-payment-review-note {
    padding: 12px 14px;
    border: 1px solid color-mix(in srgb, var(--go-success) 18%, var(--go-border));
    border-radius: 12px;
    background: color-mix(in srgb, var(--go-success-soft) 38%, var(--go-surface));
    color: var(--go-text-soft);
    font-size: 13px;
    line-height: 1.5;
}
.invoice-mobile-payment-receipt-actions {
    display: grid;
    gap: 10px;
}
body[data-theme-choice="modern"] .invoice-show-page {
    gap: 22px;
}
body[data-theme-choice="modern"] .invoice-show-summary .metric,
body[data-theme-choice="modern"] .invoice-show-panel,
body[data-theme-choice="modern"] .invoice-show-page .table-wrap {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
body[data-theme-choice="modern"] .invoice-show-summary .metric strong {
    color: var(--go-text);
}
body[data-theme-choice="modern"] .invoice-show-page .table-wrap {
    border-radius: 10px;
    overflow: hidden;
}
body[data-theme-choice="modern"] .invoice-show-page thead th {
    color: var(--go-muted);
    font-weight: 600;
    background: transparent;
}
body[data-theme-choice="modern"] .invoice-show-page tbody td {
    padding-top: 14px;
    padding-bottom: 14px;
}
body[data-theme-choice="modern"] .invoice-show-page tbody tr:hover td {
    background: var(--go-row-hover);
}
@media (max-width: 960px) {
    .desktop-payment-trigger {
        display: none !important;
    }
    .mobile-payment-trigger {
        display: inline-flex;
    }
    .invoice-show-header {
        display: none;
    }
    .invoice-show-page {
        gap: 16px;
    }
    .invoice-show-header {
        gap: 12px;
    }
    .invoice-show-header-copy p {
        margin-top: 6px;
        max-width: none;
        line-height: 1.5;
    }
    .invoice-show-header-actions {
        display: none;
    }
    .invoice-show-summary {
        display: none;
    }
    .invoice-mobile-workspace {
        display: grid;
        gap: 12px;
    }
    .invoice-mobile-action-strip {
        display: flex;
    }
    .invoice-show-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .invoice-show-summary .metric {
        min-height: 84px;
        padding: 14px;
    }
    .invoice-show-summary .metric:first-child {
        grid-column: 1 / -1;
    }
    .invoice-show-section {
        gap: 10px;
    }
    .invoice-show-standard-content {
        gap: 18px;
    }
    .invoice-show-section h2 {
        font-size: 18px;
        line-height: 1.25;
    }
    .invoice-show-panel {
        gap: 12px;
        padding: 14px;
        border-radius: 12px;
    }
    .invoice-show-panel p {
        line-height: 1.55;
    }
    .invoice-show-panel-actions,
    .invoice-show-form-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        justify-content: stretch;
    }
    .invoice-show-panel-actions .go-action-button,
    .invoice-show-panel-actions button,
    .invoice-show-form-actions .go-action-button,
    .invoice-show-form-actions button {
        min-height: 44px;
        width: 100%;
        justify-content: center;
    }
    .invoice-recurring-empty-panel .invoice-show-panel-actions .go-action-button {
        width: auto;
    }
    .invoice-show-page .notice {
        padding: 14px 16px;
        line-height: 1.5;
    }
    .invoice-show-page .table-wrap.mobile-cards {
        border-radius: 12px;
    }
    .invoice-show-page .table-wrap.mobile-cards tbody tr,
    .invoice-show-page .table-wrap.mobile-cards tfoot tr {
        border-bottom-color: var(--go-border);
    }
    .invoice-show-page .table-wrap.mobile-cards td,
    .invoice-show-page .table-wrap.mobile-cards th {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .invoice-show-page .table-wrap.mobile-cards td::before {
        color: var(--go-muted);
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .04em;
        text-transform: uppercase;
    }
    .invoice-show-page .table-wrap.mobile-cards td[data-label="Amount"],
    .invoice-show-page .table-wrap.mobile-cards td[data-label="Unit"],
    .invoice-show-page .table-wrap.mobile-cards td[data-label="Total"] {
        text-align: right;
    }
    .invoice-mobile-item-list,
    .invoice-mobile-activity-list {
        display: grid;
    }
    .invoice-show-section[data-mobile-replace="lines"] .table-wrap,
    .invoice-show-section[data-mobile-replace="payments"] .table-wrap,
    .invoice-show-section[data-mobile-replace="emails"] .table-wrap {
        display: none;
    }
    .invoice-show-page form.stack {
        gap: 12px;
    }
    .invoice-show-page form.stack .grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .invoice-show-page form.invoice-email-form .invoice-email-control-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
        align-items: end;
    }
    .invoice-email-control-row .invoice-show-form-actions,
    .invoice-email-control-row .invoice-show-form-actions .go-action-button {
        width: auto;
    }
    .invoice-mobile-payment-flow {
        display: grid;
        gap: 12px;
    }
    .invoice-show-page.has-mobile-payment-flow .invoice-show-standard-content {
        display: none;
    }
}
@media (max-width: 680px) {
    .invoice-show-panel-actions,
    .invoice-show-form-actions {
        grid-template-columns: 1fr;
    }
    .invoice-show-page form.invoice-email-form .invoice-email-control-row {
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .invoice-email-control-row label:first-child {
        grid-column: 1;
    }
    .invoice-email-control-row label:nth-child(2) {
        grid-column: 1 / -1;
    }
    .invoice-email-control-row .invoice-show-form-actions {
        grid-column: 2;
        grid-row: 1;
    }
    .invoice-show-summary {
        grid-template-columns: 1fr;
    }
    .invoice-show-summary .metric:first-child {
        grid-column: auto;
    }
    .invoice-show-summary .metric {
        min-height: 74px;
        padding: 13px 14px;
    }
    .invoice-show-panel {
        padding: 13px 14px;
    }
    .invoice-recurring-empty-panel {
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .invoice-mobile-payment-flow-card,
    .invoice-mobile-payment-success-card {
        padding: 14px;
    }
    .invoice-mobile-hero,
    .invoice-mobile-overview-card,
    .invoice-mobile-list-card {
        padding: 14px;
    }
    .invoice-mobile-action-strip {
        gap: 7px;
    }
    .invoice-mobile-action {
        flex-basis: calc(50% - 4px);
    }
    .invoice-mobile-overview-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .invoice-mobile-overview-row {
        min-height: 62px;
        padding: 9px;
    }
    .invoice-mobile-payment-summary-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .invoice-mobile-payment-steps {
        grid-template-columns: 1fr;
    }
}


/* Ticket detail page migrated from resources/views/ghm-ops/job-tickets/show.blade.php */
.ticket-show-page {
    display: grid;
    gap: 20px;
}
.ticket-show-desktop-stack {
    display: grid;
    gap: 20px;
}
.ticket-show-mobile-workspace {
    display: none;
}
.ticket-show-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.ticket-show-header-copy h1 {
    margin: 0;
    color: var(--go-text);
}
.ticket-show-header-copy p {
    margin: 8px 0 0;
    color: var(--go-muted);
}
.ticket-show-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.ticket-show-header-actions form {
    margin: 0;
}
.ticket-show-summary.panel,
.ticket-show-notes.panel,
.ticket-lines-section.panel {
    display: grid;
    gap: 16px;
}
.ticket-show-summary-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}
.ticket-show-summary-grid .metric {
    min-height: 84px;
    padding: 14px 16px;
    text-align: left;
    justify-items: start;
}
.ticket-show-summary-grid .metric-label {
    color: var(--go-muted);
    text-align: left;
}
.ticket-show-summary-grid .metric strong {
    color: var(--go-text);
}
.ticket-show-detail-strip {
    display: grid;
    grid-template-columns: 1.05fr 1.25fr 1fr .7fr .75fr .7fr .75fr;
    overflow: hidden;
}
.ticket-show-detail-item {
    display: grid;
    align-content: center;
    gap: 5px;
    min-width: 0;
    min-height: 68px;
    padding: 10px 12px;
    border-right: 1px solid var(--go-border);
}
.ticket-show-detail-item:last-child {
    border-right: 0;
}
.ticket-show-detail-item span {
    color: var(--go-muted);
    font-size: var(--go-font-label-size);
    font-weight: 400;
    line-height: 1.2;
}
.ticket-show-detail-item strong {
    min-width: 0;
    color: var(--go-text);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ticket-show-contact-metric strong {
    display: grid;
    gap: 3px;
    min-width: 0;
    font-size: 13px;
    line-height: 1.25;
}
.ticket-show-contact-metric a {
    min-width: 0;
    overflow: hidden;
    color: var(--go-text);
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ticket-show-notes {
    grid-template-columns: 1fr;
}
.ticket-show-note {
    display: grid;
    gap: 8px;
    align-content: start;
}
.ticket-show-note h2,
.ticket-lines-section h2 {
    margin: 0;
    color: var(--go-muted);
    font-size: var(--go-font-label-size);
    font-weight: var(--go-font-label-weight);
}
.ticket-show-note p {
    margin: 0;
    color: var(--go-text);
    line-height: 1.65;
}
.ticket-lines-section {
    gap: 14px;
}
.ticket-lines-section .table-wrap {
    margin: 0;
    overflow-x: auto;
}
.ticket-lines-section table {
    width: 100%;
    min-width: 760px;
    table-layout: fixed;
}
.ticket-lines-section th:nth-child(1),
.ticket-lines-section td:nth-child(1) {
    width: 18%;
}
.ticket-lines-section th:nth-child(3),
.ticket-lines-section td:nth-child(3) {
    width: 72px;
    text-align: center;
}
.ticket-lines-section th:nth-child(4),
.ticket-lines-section td:nth-child(4),
.ticket-lines-section th:nth-child(5),
.ticket-lines-section td:nth-child(5) {
    width: 112px;
}
.ticket-lines-section tbody td {
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    white-space: nowrap;
}
.ticket-lines-section tbody td:nth-child(2) {
    max-width: 0;
}
.ticket-mobile-hero,
.ticket-mobile-actions,
.ticket-mobile-overview,
.ticket-mobile-notes,
.ticket-mobile-lines {
    display: grid;
    gap: 14px;
}
.ticket-mobile-hero {
    padding: 18px 16px;
}
.ticket-mobile-hero-top,
.ticket-mobile-lines-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.ticket-mobile-hero-title {
    display: grid;
    gap: 8px;
}
.ticket-mobile-hero-title h1 {
    margin: 0;
    color: var(--go-text);
    font-size: clamp(1.7rem, 4.6vw, 2rem);
    line-height: 1.1;
}
.ticket-mobile-issue-summary {
    margin: 0;
    color: var(--go-muted);
    line-height: 1.55;
}
.ticket-mobile-client {
    color: var(--go-text);
    font-size: 15px;
    font-weight: 600;
}
.ticket-mobile-hero-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}
.ticket-mobile-kpi {
    display: grid;
    gap: 4px;
    min-height: 78px;
    padding: 14px;
    border: 1px solid var(--go-border);
    border-radius: 14px;
    background: color-mix(in srgb, var(--go-bg) 58%, var(--go-surface));
}
.ticket-mobile-kpi span {
    color: var(--go-muted);
    font-size: var(--go-font-label-size);
    font-weight: var(--go-font-label-weight);
}
.ticket-mobile-kpi strong {
    color: var(--go-text);
    font-size: 16px;
    line-height: 1.35;
}
.ticket-mobile-contact-kpi strong {
    display: grid;
    gap: 2px;
    min-width: 0;
    font-size: 12px;
}
.ticket-mobile-contact-kpi {
    align-content: center;
}
.ticket-mobile-contact-kpi a {
    overflow: hidden;
    color: var(--go-text);
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ticket-mobile-action-card {
    align-content: center;
    justify-items: center;
    color: var(--go-text);
    font-size: 14px;
    font-weight: 400;
    text-align: center;
    text-decoration: none;
}
.ticket-mobile-action-card:hover {
    border-color: color-mix(in srgb, var(--go-primary) 42%, var(--go-border));
    color: var(--go-primary);
}
.ticket-mobile-action-card.is-primary {
    border-color: color-mix(in srgb, var(--go-primary) 52%, var(--go-border));
    background: color-mix(in srgb, var(--go-primary) 18%, var(--go-surface));
    color: var(--go-text);
}
.ticket-mobile-action-card.is-primary:hover {
    background: color-mix(in srgb, var(--go-primary) 24%, var(--go-surface));
    color: var(--go-primary);
}
.ticket-mobile-action-card button {
    width: 100%;
    min-height: 48px;
    border: 0;
    background: transparent;
    color: inherit;
    padding: 0;
    font: inherit;
    cursor: pointer;
}
.ticket-mobile-actions-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.ticket-mobile-actions-grid form {
    margin: 0;
}
.ticket-mobile-actions-grid .go-action-button,
.ticket-mobile-actions-grid button {
    width: 100%;
    min-height: 44px;
    justify-content: center;
}
.ticket-mobile-section-heading {
    margin: 0;
    color: var(--go-text);
    font-size: 18px;
    font-weight: 600;
}
.ticket-mobile-overview-rows,
.ticket-mobile-lines-list {
    display: grid;
}
.ticket-mobile-overview-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    padding: 13px 0;
    border-top: 1px solid var(--go-border);
}
.ticket-mobile-overview-row:first-child {
    padding-top: 0;
    border-top: 0;
}
.ticket-mobile-overview-row:last-child {
    padding-bottom: 0;
}
.ticket-mobile-overview-row span {
    color: var(--go-muted);
}
.ticket-mobile-overview-row strong {
    color: var(--go-text);
    text-align: right;
}
.ticket-mobile-note-card {
    display: grid;
    gap: 8px;
    padding: 14px;
    border: 1px solid var(--go-border);
    border-radius: 14px;
    background: color-mix(in srgb, var(--go-bg) 62%, var(--go-surface));
}
.ticket-mobile-note-card h3 {
    margin: 0;
    color: var(--go-text);
    font-size: 15px;
    font-weight: 600;
}
.ticket-mobile-note-card p {
    margin: 0;
    color: var(--go-text);
    line-height: 1.6;
}
.ticket-mobile-lines-list {
    gap: 12px;
}
.ticket-mobile-lines-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding-top: 14px;
    border-top: 1px solid var(--go-border);
    color: var(--go-text);
}
.ticket-mobile-lines-footer span {
    color: var(--go-muted);
    font-size: var(--go-font-label-size);
    font-weight: var(--go-font-label-weight);
}
.ticket-mobile-lines-footer strong {
    font-size: 24px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.ticket-mobile-empty {
    padding: 16px;
    border: 1px dashed var(--go-border);
    border-radius: 14px;
    color: var(--go-muted);
    text-align: center;
    background: color-mix(in srgb, var(--go-bg) 72%, var(--go-surface));
}
.ticket-lines-mobile-list {
    display: none;
}
.ticket-line-mobile-card {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--go-border);
    border-radius: 12px;
    background: var(--go-surface);
}
.ticket-line-mobile-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
}
.ticket-line-mobile-head strong {
    color: var(--go-text);
    font-size: 14px;
    line-height: 1.35;
}
.ticket-line-mobile-total {
    color: var(--go-text);
    font-size: 18px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.ticket-line-mobile-description {
    color: var(--go-text-soft);
    font-size: 13px;
    line-height: 1.5;
}
.ticket-line-mobile-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    line-height: 1.45;
}
body[data-theme-choice="modern"] .ticket-show-summary.panel,
body[data-theme-choice="modern"] .ticket-show-notes.panel,
body[data-theme-choice="modern"] .ticket-lines-section.panel,
body[data-theme-choice="modern"] .ticket-lines-section .table-wrap {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
body[data-theme-choice="modern"] .ticket-lines-section .table-wrap {
    overflow: hidden;
    border-radius: 10px;
}
body[data-theme-choice="modern"] .ticket-lines-section thead th {
    color: var(--go-muted);
    font-weight: 600;
    background: transparent;
}
body[data-theme-choice="modern"] .ticket-lines-section tbody td {
    padding-top: 14px;
    padding-bottom: 14px;
}
body[data-theme-choice="modern"] .ticket-lines-section tbody tr:hover td {
    background: var(--go-row-hover);
}
@media (max-width: 960px) {
    .ticket-show-page {
        gap: 16px;
    }
    .ticket-show-mobile-workspace {
        display: grid;
        gap: 16px;
    }
    .ticket-show-desktop-stack {
        display: none;
    }
    .ticket-show-header {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .ticket-show-header-copy p {
        margin-top: 6px;
        line-height: 1.5;
    }
    .ticket-show-header-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        width: 100%;
    }
    .ticket-show-header-actions .go-action-button,
    .ticket-show-header-actions button {
        width: 100%;
        min-height: 44px;
        justify-content: center;
    }
    .ticket-show-summary-grid,
    .ticket-mobile-hero-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 10px;
    }
    .ticket-show-summary.panel,
    .ticket-show-notes.panel,
    .ticket-lines-section.panel {
        gap: 12px;
        padding: 14px;
        border-radius: 12px;
    }
    .ticket-show-summary-grid .metric {
        min-height: 74px;
        padding: 13px 14px;
    }
    .ticket-show-detail-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .ticket-show-detail-item {
        border-right: 1px solid var(--go-border);
        border-bottom: 1px solid var(--go-border);
    }
    .ticket-show-detail-item:nth-child(3n) {
        border-right: 0;
    }
    .ticket-show-detail-item:nth-last-child(-n+3) {
        border-bottom: 0;
    }
    .ticket-show-notes {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .ticket-show-note {
        gap: 6px;
        padding: 14px;
        border: 1px solid var(--go-border);
        border-radius: 12px;
        background: color-mix(in srgb, var(--go-bg) 64%, var(--go-surface));
    }
    .ticket-show-note h2,
    .ticket-lines-section h2 {
        color: var(--go-text);
    }
    .ticket-lines-section .table-wrap {
        display: none;
    }
    .ticket-lines-mobile-list {
        display: grid;
        gap: 10px;
    }
}
@media (max-width: 680px) {
    .ticket-show-header-actions {
        grid-template-columns: 1fr;
    }
    .ticket-mobile-actions-grid {
        grid-template-columns: 1fr;
    }
    .ticket-show-summary-grid,
    .ticket-mobile-hero-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ticket-show-detail-strip {
        grid-template-columns: 1fr;
    }
    .ticket-show-detail-item,
    .ticket-show-detail-item:nth-child(3n),
    .ticket-show-detail-item:nth-last-child(-n+3) {
        border-right: 0;
        border-bottom: 1px solid var(--go-border);
    }
    .ticket-show-detail-item:last-child {
        border-bottom: 0;
    }
    .ticket-show-contact-metric,
    .ticket-mobile-contact-kpi {
        grid-column: 1 / -1;
    }
    .ticket-show-contact-metric strong,
    .ticket-mobile-contact-kpi strong {
        display: grid;
        grid-template-columns: 1fr;
        gap: 3px 8px;
    }
    .ticket-mobile-contact-kpi a {
        overflow-wrap: anywhere;
        white-space: normal;
    }
    .ticket-mobile-overview-row {
        grid-template-columns: 1fr;
        gap: 6px;
    }
    .ticket-mobile-overview-row strong {
        text-align: left;
    }
}


/* Search page migrated from resources/views/ghm-ops/search/index.blade.php */
.search-shell {
    display: grid;
    gap: 22px;
}
.search-page-header {
    display: grid;
    gap: 10px;
    padding-top: 2px;
}
.search-page-header h1 {
    margin: 0;
    color: var(--go-text);
}
.search-page-header p {
    margin: 0;
    max-width: 760px;
    color: var(--go-muted);
    line-height: 1.55;
}
.search-filter-card {
    display: grid;
    gap: 14px;
    padding: 16px;
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.search-filter-card .filter-toolbar {
    margin: 0;
    align-items: end;
}
.search-filter-card .filter-search-field {
    font-weight: 600;
    color: var(--go-text);
}
.search-filter-card .filter-search-field input {
    margin-top: 6px;
}
@media (max-width: 680px) {
    .search-filter-card {
        padding: 14px;
    }
    .search-filter-card .filter-toolbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        gap: 8px;
    }
    .search-filter-card .filter-search-field {
        min-width: 0;
        max-width: none;
    }
    .search-filter-card .filter-search-field input {
        min-height: 34px;
        padding-inline: 9px;
        font-size: 12px;
    }
    .search-filter-card .filter-actions {
        width: auto;
        margin-left: 0;
        gap: 6px;
        flex-wrap: nowrap;
    }
    .search-filter-card .filter-actions .go-action-button {
        min-height: 34px;
        padding-inline: 11px;
        font-size: 11px;
        white-space: nowrap;
    }
}
.search-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.search-summary .metric {
    min-height: 84px;
    padding: 14px 16px;
    text-align: left;
    justify-items: start;
    gap: 6px;
}
.search-summary .metric-label {
    text-align: left;
    color: var(--go-muted);
}
.search-summary .metric strong {
    color: var(--go-text);
}
.search-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.search-panel {
    display: grid;
    gap: 14px;
}
.search-panel h2 {
    margin: 0;
    color: var(--go-muted);
    font-size: var(--go-font-label-size);
    font-weight: var(--go-font-label-weight);
}
.search-list {
    display: grid;
    gap: 12px;
}
.search-row {
    display: grid;
    gap: 6px;
    border: 1px solid var(--go-border);
    border-radius: 10px;
    background: color-mix(in srgb, var(--go-bg) 65%, var(--go-surface));
    padding: 14px 16px;
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.search-row:hover {
    background: var(--go-surface);
    border-color: color-mix(in srgb, var(--go-primary) 14%, var(--go-border));
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.search-row-head {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
    justify-content: space-between;
}
.search-row-head a {
    color: var(--go-text);
    font-weight: 700;
    text-decoration: none;
    transition: color .15s ease;
}
.search-row-head a:hover {
    color: var(--go-primary);
}
.search-row p {
    margin: 0;
    color: var(--go-muted);
    line-height: 1.5;
}
.search-note {
    color: var(--go-muted);
    margin: 0;
    line-height: 1.55;
}
.search-note-panel {
    padding: 18px 20px;
}
body[data-theme-choice="modern"] .search-summary .metric,
body[data-theme-choice="modern"] .search-filter-card,
body[data-theme-choice="modern"] .search-panel {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
body[data-theme-choice="modern"] .search-panel {
    border-radius: 10px;
    padding: 16px;
}
@media (max-width: 960px) {
    .search-summary,
    .search-grid {
        grid-template-columns: 1fr;
    }
    .search-summary .metric {
        text-align: center;
        justify-items: center;
    }
    .search-summary .metric-label {
        text-align: center;
    }
}


/* Campaign detail page migrated from resources/views/ghm-ops/follow-ups/show.blade.php */
.campaign-show-page {
    display: grid;
    gap: 20px;
}
.campaign-show-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.campaign-show-header-copy h1 {
    margin: 0;
    color: var(--go-text);
}
.campaign-show-header-copy p {
    margin: 8px 0 0;
    color: var(--go-muted);
}
.campaign-show-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.campaign-show-header-actions form {
    margin: 0;
}
.campaign-show-notice {
    padding: 14px 16px;
    border-radius: 10px;
}
.campaign-show-summary {
    margin-bottom: 0;
}
.campaign-show-summary .metric {
    min-height: 84px;
    padding: 14px 16px;
    text-align: left;
    justify-items: start;
}
.campaign-show-summary .metric-label,
.campaign-show-summary .metric p {
    text-align: left;
}
.campaign-show-summary .metric:nth-child(5) strong,
.campaign-show-summary .metric:nth-child(6) strong {
    font-size: 14px;
    line-height: 1.25;
}
.campaign-detail-table-section {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--go-border);
    border-radius: 10px;
    background: var(--go-surface);
}
.campaign-detail-table-header {
    display: flex;
    align-items: stretch;
}
.campaign-detail-table-toggle {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    padding: 14px 16px;
    border: 0;
    background: transparent;
    color: var(--go-text);
    text-align: left;
    cursor: pointer;
}
.campaign-detail-table-toggle:hover {
    background: var(--go-row-hover);
}
.campaign-detail-table-title {
    font-size: 18px;
    font-weight: 600;
}
.campaign-detail-table-meta {
    display: inline-flex;
    flex: 0 0 auto;
    gap: 14px;
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    text-transform: uppercase;
}
.campaign-detail-table-header > .table-column-reset {
    align-self: center;
    margin-right: 12px;
}
.campaign-detail-table-body[hidden] {
    display: none;
}
.campaign-detail-table-body {
    padding: 0 12px 12px;
}
body[data-theme-choice="modern"] .campaign-show-page .campaign-detail-table-body .table-wrap {
    width: 100%;
    max-width: 100%;
    margin: 0;
    overflow-x: auto;
    overflow-y: hidden;
}
.campaign-show-page .campaign-detail-table-body .campaign-call-sheet {
    width: 100%;
    min-width: 0;
    table-layout: auto;
}
.campaign-tag-icons {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: nowrap;
    white-space: nowrap;
}
.campaign-tag-icons > * {
    flex: 0 0 auto;
}
.campaign-tag-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: color-mix(in srgb, var(--green-dark) 8%, var(--paper));
    color: var(--green-dark);
}
.campaign-tag-icon svg {
    width: 14px;
    height: 14px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
body[data-theme-choice="modern"] .campaign-show-notice,
body[data-theme-choice="modern"] .campaign-show-summary .metric,
body[data-theme-choice="modern"] .campaign-show-page .table-wrap {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
body[data-theme-choice="modern"] .campaign-show-notice {
    color: var(--go-muted);
    background: color-mix(in srgb, var(--go-primary-soft) 45%, var(--go-surface));
}
body[data-theme-choice="modern"] .campaign-show-summary .metric strong {
    color: var(--go-text);
}
body[data-theme-choice="modern"] .campaign-show-page .table-wrap {
    border-radius: 10px;
    overflow: hidden;
}
.campaign-show-page .campaign-call-sheet {
    table-layout: fixed;
}
.campaign-show-page .campaign-call-sheet :is(th, td) {
    height: 42px;
    padding: 7px 10px;
    vertical-align: middle;
}
.campaign-show-page .campaign-call-sheet td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.campaign-show-page .campaign-call-sheet td a {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
}
.campaign-show-page .campaign-call-sheet :is(.status-col, .table-action-cell) {
    text-align: center;
}
.campaign-show-page .campaign-call-sheet :is(.go-status-pill, .go-action-button, .campaign-tag-icons) {
    margin-inline: auto;
}
body[data-theme-choice="modern"] .campaign-show-page thead th {
    color: var(--go-muted);
    font-weight: 600;
    background: transparent;
}
body[data-theme-choice="modern"] .campaign-show-page tbody td {
    padding-top: 14px;
    padding-bottom: 14px;
}
body[data-theme-choice="modern"] .campaign-show-page .campaign-call-sheet tbody td {
    padding-top: 7px;
    padding-bottom: 7px;
}
body[data-theme-choice="modern"] .campaign-show-page tbody tr:hover td {
    background: var(--go-row-hover);
}
body[data-theme-choice="modern"] .campaign-tag-icon {
    border-color: var(--go-border);
    background: var(--go-primary-soft);
    color: var(--go-primary);
}
@media (max-width: 760px) {
    .campaign-show-header {
        flex-direction: column;
        align-items: stretch;
    }
}


/* Expenses list page migrated from resources/views/ghm-ops/expenses/index.blade.php */
.expenses-page {
    display: grid;
    gap: 20px;
}
.expenses-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.expenses-page-header h1 {
    margin: 0;
    color: var(--go-text);
}
.expenses-page-header p {
    margin: 8px 0 0;
    color: var(--go-muted);
}
.expenses-header-filter-form {
    display: grid;
    grid-template-columns: minmax(132px, 160px) minmax(132px, 160px);
    margin: 0;
    align-items: end;
    gap: 10px;
    margin-left: auto;
}
.expenses-header-filter-form label {
    margin: 0;
}
.expenses-header-filter-form select {
    min-height: 34px;
    padding-top: 6px;
    padding-bottom: 6px;
}
.expense-summary-row {
    display: flex;
    justify-content: flex-end;
    justify-self: end;
}
.expense-index-summary {
    width: auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(88px, 104px));
    gap: 8px;
}
.expense-index-summary .metric {
    min-height: 58px;
    padding: 8px 10px;
    text-align: center;
}
.expense-index-summary .metric-label,
.expense-index-summary .metric {
    text-align: center;
}
.expenses-table-shell {
    display: grid;
    gap: 10px;
}
.expenses-table-count {
    justify-self: end;
    color: var(--go-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.expenses-table-wrap {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    border-radius: 10px;
    overflow-x: auto;
    overflow-y: visible;
}
table.expenses-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}
.expenses-call-date { width: 104px; }
.expenses-call-category { width: 116px; }
.expenses-call-description { width: auto; }
.expenses-call-user { width: 150px; }
.expenses-call-status { width: 94px; }
.expenses-call-money { width: 104px; }
.expenses-call-action { width: 210px; }
.expenses-table th {
    text-align: left;
    font-size: var(--go-font-label-size);
    text-transform: none;
    letter-spacing: 0;
    color: var(--go-muted);
    padding: 12px 16px;
    border-bottom: 1px solid var(--go-border);
    font-weight: 600;
}
.expenses-table td {
    height: 42px;
    padding: 7px 10px;
    border-bottom: 1px solid var(--go-border);
    color: var(--go-text);
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    white-space: nowrap;
}
.expenses-table td > a,
.expenses-table td > span,
.expenses-table td > div {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.expenses-table tr:hover td { background: var(--go-row-hover); }
.expense-category-pill {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 3px 10px;
    border: 1px solid color-mix(in srgb, var(--go-primary) 20%, var(--go-border));
    border-radius: 7px;
    background: color-mix(in srgb, var(--go-primary-soft) 62%, var(--go-surface));
    color: var(--go-primary);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
}
.expense-amount { font-weight: 600; color: var(--go-text); }
.expense-row-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    flex-wrap: nowrap;
}
.expense-empty {
    padding: 40px 16px;
    text-align: center;
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .expenses-table-wrap,
body[data-theme-choice="modern"] .expense-index-summary .metric {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
body[data-theme-choice="modern"] .expense-index-summary .metric {
    justify-items: center;
    align-content: center;
    border-radius: 8px;
    gap: 4px;
}
body[data-theme-choice="modern"] .expense-index-summary .metric strong {
    color: var(--go-text);
    font-size: 15px;
}
body[data-theme-choice="modern"] .expense-index-summary .metric:nth-child(2) {
    border-color: color-mix(in srgb, var(--go-success) 42%, var(--go-border));
    background: var(--go-surface);
}
body[data-theme-choice="modern"] .expense-index-summary .metric:nth-child(3) {
    border-color: color-mix(in srgb, var(--go-warning) 42%, var(--go-border));
    background: var(--go-surface);
}
body[data-theme-choice="modern"] .expense-index-summary .metric:nth-child(4) {
    border-color: color-mix(in srgb, var(--go-danger) 44%, var(--go-border));
    background: var(--go-surface);
}
@media (max-width: 960px) {
    .expenses-page {
        gap: 16px;
    }
    .expenses-page-header {
        display: grid;
        gap: 12px;
    }
    .expenses-header-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        margin-left: 0;
    }
    .expenses-page-header p {
        margin-top: 6px;
    }
    .expense-summary-row {
        justify-content: stretch;
    }
    .expense-index-summary {
        width: 100%;
    }
    .expense-index-summary .metric {
        min-width: 0;
        min-height: 56px;
        padding: 8px 6px;
    }
    .expense-index-summary .metric-label {
        font-size: 11px;
    }
    body[data-theme-choice="modern"] .expense-index-summary .metric strong {
        font-size: 14px;
    }
    .expenses-table-count {
        justify-self: end;
    }
    .expenses-call-sheet {
        min-width: 980px !important;
    }
}


/* Settings page migrated from resources/views/profile/edit.blade.php */
.profile-page {
    display: grid;
    gap: 22px;
}
.profile-page h1 {
    margin: 0;
    font-size: 32px;
    line-height: 1.1;
    color: var(--go-text);
    letter-spacing: 0;
}
.profile-page-header {
    display: grid;
    gap: 10px;
    padding-top: 2px;
}
.profile-page-header p {
    margin: 0;
    max-width: 760px;
    color: var(--go-muted);
    font-size: 14px;
    line-height: 1.55;
}
.profile-page .metric,
.profile-page p,
.profile-page label,
.profile-page input,
.profile-page select,
.profile-page textarea,
.profile-page button {
    font-size: 12px;
}
.profile-summary {
    margin-bottom: 0;
}
.profile-summary .metric {
    min-height: 84px;
    padding: 14px 16px;
    justify-items: center;
    text-align: center;
    gap: 6px;
}
.profile-summary .metric-label {
    text-align: center;
    color: var(--go-muted);
}
.profile-summary .metric strong {
    font-size: 15px;
    font-weight: 400;
    color: var(--go-text);
}
.profile-panel {
    display: grid;
    gap: 16px;
    min-width: 0;
}
.profile-auth-block-entry {
    min-width: 0;
    overflow-wrap: anywhere;
}
.profile-auth-block-entry[hidden] {
    display: none;
}
.profile-auth-blocks .field-grid {
    grid-template-columns: minmax(0, 1fr);
}
.profile-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 4px;
}
.profile-muted-box {
    border: 1px solid var(--go-border);
    border-radius: 10px;
    background: color-mix(in srgb, var(--go-bg) 72%, var(--go-surface));
    padding: 14px;
}
.profile-stack {
    display: grid;
    gap: 10px;
}
.profile-inline-error {
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--go-danger) 28%, var(--go-border));
    border-radius: 8px;
    background: var(--go-danger-soft);
    color: var(--go-danger);
    font-weight: 700;
}
.profile-inline-success {
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--go-success) 28%, var(--go-border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--go-success-soft) 62%, var(--go-surface));
    color: var(--go-success);
    font-weight: 700;
}
.profile-inline-form {
    display: flex;
    justify-content: flex-end;
    margin: 0;
}
.profile-agent-api .profile-section-body,
.profile-agent-api .profile-muted-box,
.profile-agent-api .field-grid,
.profile-agent-api label {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
.profile-agent-api .profile-section-body,
.profile-agent-api .profile-stack,
.profile-agent-api .field-grid {
    grid-template-columns: minmax(0, 1fr);
}
.profile-agent-api input,
.profile-agent-api textarea {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
.profile-agent-api .profile-muted-box {
    overflow-wrap: anywhere;
}
.profile-agent-token {
    white-space: normal;
    overflow-wrap: anywhere;
    user-select: all;
}
.profile-agent-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
.profile-agent-actions form {
    margin: 0;
    min-width: 0;
}
.profile-agent-actions button {
    min-width: 0;
    width: 100%;
    padding-inline: 6px;
}
.profile-agent-actions button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.profile-checks {
    display: grid;
    gap: 10px;
}
.profile-tax-grid {
    display: grid;
    gap: 10px;
}
.profile-tax-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(82px, 18%);
    align-items: center;
    gap: 12px;
}
.profile-tax-rate {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px;
    color: var(--go-muted);
    font-weight: 700;
}
.profile-tax-rate input {
    min-width: 0;
    text-align: right;
}
.profile-booking-days {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
}
.profile-danger {
    border-color: color-mix(in srgb, var(--warn) 28%, var(--line));
}
.profile-danger .profile-section-title {
    color: var(--go-danger);
}
.profile-section {
    display: grid;
    gap: 0;
    min-width: 0;
}
.profile-section-toggle {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 12px;
    row-gap: 6px;
    align-items: start;
    width: 100%;
    min-width: 0;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}
.profile-section-toggle:hover .profile-section-title {
    color: var(--go-primary);
}
.profile-section-heading {
    display: contents;
}
.profile-section-title {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--go-text);
}
.profile-section-note {
    grid-column: 1 / -1;
    grid-row: 2;
    margin: 0;
    color: var(--go-muted);
    line-height: 1.5;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
}
.profile-section-state {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--go-muted);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
    text-transform: none;
    cursor: pointer;
}
.profile-section-state:hover,
.profile-section-state:focus,
.profile-section-state:focus-visible {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    color: var(--go-muted);
    outline: none;
}
.profile-section-body {
    display: grid;
    gap: 14px;
    padding-top: 14px;
    min-width: 0;
    cursor: default;
}
.profile-section-body[hidden] {
    display: none;
}
.profile-email-template-shell {
    display: grid;
    grid-template-columns: minmax(220px, 255px) minmax(0, 1fr);
    column-gap: 30px;
    row-gap: 18px;
}
.profile-email-template-nav {
    display: grid;
    align-content: start;
    gap: 6px;
    padding: 12px;
    border: 1px solid var(--go-border);
    border-radius: 10px;
}
.profile-email-template-nav button,
.profile-email-template-nav a {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 9px 12px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    color: var(--go-text);
    font: inherit;
    font-size: 12px;
    line-height: 1.25;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}
.profile-email-template-nav button:hover,
.profile-email-template-nav button.is-active,
.profile-email-template-nav a:hover {
    border-color: var(--go-primary);
    background: color-mix(in srgb, var(--go-primary) 12%, var(--go-surface));
}
.profile-email-template-workspace {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--go-border);
    border-radius: 10px;
}
.profile-email-template-editor {
    min-width: 0;
}
.profile-email-template-editor h3 {
    margin: 0 0 5px;
}
.profile-email-reminder-schedule {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0;
    padding: 12px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
}
.profile-email-reminder-schedule .full {
    grid-column: 1 / -1;
}
.profile-email-reminder-schedule label:not(.check-row) {
    display: grid;
    gap: 5px;
}
.profile-email-reminder-schedule label span {
    color: var(--go-muted);
    font-size: 11px;
}
.profile-email-preview-column {
    grid-column: 1 / -1;
    min-width: 0;
    margin-top: 4px;
    padding-top: 18px;
    border-top: 1px solid var(--go-border);
}
.profile-email-preview-toolbar {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
    color: var(--go-muted);
    font-size: 11px;
}
.profile-email-preview-toolbar strong {
    color: var(--go-text);
}
.profile-email-preview-toolbar button {
    align-self: center;
    width: auto;
}
.profile-email-preview {
    padding: 18px;
    border: 1px solid var(--go-border);
    border-radius: 10px;
    background: color-mix(in srgb, var(--go-surface) 90%, var(--go-bg));
}
.profile-email-preview-logo {
    margin: 0 0 12px;
    color: var(--go-primary);
    font-size: 20px;
    font-weight: 800;
}
.profile-email-preview-card {
    padding: 18px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: #fff;
    color: #1d2d2a;
}
.profile-email-preview-card small {
    display: block;
    margin-bottom: 8px;
    color: #61736e;
}
.profile-email-preview-card h3 {
    margin: 0 0 14px;
    color: var(--email-preview-accent, #1f9296);
    font-size: 22px;
}
.profile-email-preview-card p {
    white-space: pre-line;
}
.profile-email-preview-details {
    margin: 14px 0;
    padding: 12px;
    border: 1px solid #d8e5de;
    border-radius: 7px;
    background: #f7faf8;
    font-weight: 700;
}
@media (max-width: 980px) {
    .profile-email-template-shell {
        grid-template-columns: 1fr;
    }
    .profile-email-template-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.profile-page .panel {
    border-radius: 10px;
}
.profile-page label {
    display: grid;
    gap: 6px;
    color: var(--go-text);
    font-weight: 600;
}
.profile-page input,
.profile-page select,
.profile-page textarea {
    min-height: 40px;
    width: 100%;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    color: var(--go-text);
}
.profile-page input[type="checkbox"],
.profile-page input[type="radio"] {
    width: auto;
    min-height: 0;
}
.profile-page input:focus,
.profile-page select:focus,
.profile-page textarea:focus {
    border-color: color-mix(in srgb, var(--go-primary) 45%, var(--go-border));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--go-primary-soft) 70%, transparent);
    outline: none;
}
.profile-page input[disabled] {
    color: var(--go-muted);
    background: color-mix(in srgb, var(--go-bg) 78%, var(--go-surface));
}
.profile-page .check-row {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 500;
    color: var(--go-text);
}
.profile-page .check-row input[type="checkbox"] {
    min-height: 0;
}
.profile-billing-toggle {
    display: grid;
    gap: 10px;
}
.profile-billing-same {
    margin: 0;
}
.profile-billing-hidden {
    display: grid;
    gap: 8px;
}
.profile-password-form {
    display: grid;
    gap: 14px;
}
.profile-settings-form {
    display: grid;
    gap: 14px;
}
.profile-page .form-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .45fr);
    gap: 20px;
    align-items: start;
}
.profile-account-access {
    margin-top: 2px;
}
.profile-theme-lock {
    display: grid;
    gap: 8px;
}
.profile-theme-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 32px;
    padding: 0 12px;
    border: 1px solid color-mix(in srgb, var(--go-primary) 18%, var(--go-border));
    border-radius: 7px;
    background: var(--go-primary-soft);
    color: var(--go-primary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
}
body[data-theme-choice="modern"] .profile-summary .metric {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
body[data-theme-choice="modern"] .profile-section-title {
    color: var(--go-text);
}
body[data-theme-choice="modern"] .profile-danger {
    border-color: color-mix(in srgb, var(--go-danger) 24%, var(--go-border));
    background: color-mix(in srgb, var(--go-danger-soft) 26%, var(--go-surface));
}
body[data-theme-choice="modern"] .profile-danger .profile-muted-box {
    background: color-mix(in srgb, var(--go-danger-soft) 20%, var(--go-surface));
    border-color: color-mix(in srgb, var(--go-danger) 18%, var(--go-border));
}
@media (max-width: 960px) {
    .profile-actions {
        justify-content: stretch;
    }
    .profile-actions button {
        width: 100%;
    }
}
@media (max-width: 680px) {
    .profile-page .form-shell {
        grid-template-columns: 1fr;
    }
    .profile-page {
        gap: 14px;
    }
    .profile-page h1 {
        font-size: 24px;
    }
    .profile-page .metric,
    .profile-page p,
    .profile-page label,
    .profile-page input,
    .profile-page select,
    .profile-page textarea,
    .profile-page button {
        font-size: 13px;
    }
    .profile-summary .metric {
        min-height: 74px;
        padding: 10px 8px;
        gap: 4px;
    }
    .profile-summary .metric-label {
        font-size: 11px;
        line-height: 1.2;
    }
    .profile-summary .metric strong {
        font-size: 13px;
        line-height: 1.25;
        overflow-wrap: anywhere;
    }
    .profile-section-title {
        font-size: 15px;
    }
    .profile-tax-row {
        grid-template-columns: minmax(0, 1fr) minmax(78px, 30%);
    }
    .profile-page-header {
        gap: 8px;
    }
}


/* Campaigns list page migrated from resources/views/ghm-ops/follow-ups/index.blade.php */
.campaign-page {
    display: grid;
    gap: 22px;
}
.campaign-section-stack {
    display: grid;
    gap: 16px;
}
.campaign-section-heading {
    display: grid;
    gap: 4px;
}
.campaign-section-heading h2 {
    margin: 0;
    color: var(--go-text);
}
.campaign-section-heading p {
    margin: 0;
    color: var(--go-muted);
}
.campaign-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-start;
    margin: 0;
}
.campaign-links-secondary {
    margin-top: 4px;
}
.campaign-link-form {
    display: inline-flex;
    align-items: center;
    margin: 0;
}
.campaign-page .invoice-summary .metric {
    justify-items: start;
    text-align: left;
}
.campaign-page .invoice-summary .metric-label,
.campaign-page .invoice-summary .metric p {
    text-align: left;
}
.campaign-page .metric strong {
    font-size: var(--go-font-metric-value-size);
}
.campaign-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.campaign-page-header-copy h1 {
    margin: 0;
    color: var(--go-text);
}
.campaign-page-header-copy p {
    margin: 8px 0 0;
    color: var(--go-muted);
    max-width: 760px;
}
.campaign-notice-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 10px;
}
.campaign-notice-icon {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 700;
}
.campaign-notice-copy {
    display: grid;
    gap: 4px;
    font-size: var(--go-font-helper-size);
    line-height: 1.55;
}
.campaign-notice-copy p {
    margin: 0;
}
.campaign-overview-grid {
    margin-bottom: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
}
.campaign-mobile-summary {
    display: none;
}
.campaign-mobile-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.campaign-mobile-summary-card {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid var(--go-border);
    border-radius: 14px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.campaign-mobile-summary-top {
    display: flex;
    align-items: center;
    gap: 10px;
}
.campaign-mobile-summary-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: color-mix(in srgb, var(--go-primary-soft) 60%, var(--go-surface));
    color: var(--go-primary);
    flex: 0 0 auto;
}
.campaign-mobile-summary-icon svg {
    width: 22px;
    height: 22px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.campaign-mobile-summary-card.is-warning .campaign-mobile-summary-icon {
    background: color-mix(in srgb, var(--go-warning-soft) 72%, var(--go-surface));
    color: var(--go-warning);
}
.campaign-mobile-summary-card.is-danger .campaign-mobile-summary-icon {
    background: color-mix(in srgb, var(--go-danger-soft) 72%, var(--go-surface));
    color: var(--go-danger);
}
.campaign-mobile-summary-card strong {
    color: var(--go-text);
    font-size: 12px;
    line-height: 1.35;
}
.campaign-mobile-summary-value {
    color: var(--go-text);
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
.campaign-mobile-summary-card.is-primary .campaign-mobile-summary-value,
.campaign-mobile-summary-card.is-sent .campaign-mobile-summary-value {
    color: var(--go-primary);
}
.campaign-mobile-summary-card.is-warning .campaign-mobile-summary-value {
    color: var(--go-warning);
}
.campaign-mobile-summary-card.is-danger .campaign-mobile-summary-value {
    color: var(--go-danger);
}
.campaign-mobile-summary-help {
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    line-height: 1.45;
}
.campaign-overview-grid .metric {
    min-height: 0;
    display: grid;
    gap: 12px;
    align-content: start;
    justify-items: start;
    text-align: left;
    padding: 18px;
}
.campaign-overview-grid .metric > :not(strong) {
    text-align: left;
}
.campaign-overview-grid .metric > * {
    width: 100%;
}
.campaign-card-head {
    display: grid;
    gap: 12px;
}
.campaign-card-topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.campaign-card-name {
    margin: 0;
    color: var(--go-text);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
}
.campaign-card-type {
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    line-height: 1.45;
}
.campaign-card-pending {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--go-primary-soft) 38%, var(--go-surface));
}
.campaign-card-pending strong {
    color: var(--go-text);
    font-size: 30px;
    font-weight: 800;
    line-height: 1;
}
.campaign-card-pending span {
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.campaign-card-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.campaign-card-overview-row {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 16px;
}
.campaign-card-overview-row .campaign-card-meta {
    flex: 1 1 auto;
    max-width: 420px;
    justify-content: start;
    align-content: center;
}
.campaign-card-overview-row .campaign-card-meta-row {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    justify-content: start;
}
.campaign-card-overview-row .campaign-card-meta-row span {
    text-align: left;
}
.campaign-card-overview-row .campaign-card-meta-row span:last-child {
    text-align: left;
}
.campaign-card-compact-stats {
    flex: 0 0 auto;
    grid-template-columns: repeat(3, 92px);
}
.campaign-card-compact-stats .campaign-card-stat {
    min-height: 58px;
    padding: 8px 10px;
    align-content: center;
}
.campaign-card-stat {
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: color-mix(in srgb, var(--go-bg) 70%, var(--go-surface));
    justify-items: center;
    text-align: center;
}
.campaign-card-stat-label {
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
}
.campaign-card-stat-value {
    color: var(--go-text);
    font-weight: 700;
    line-height: 1.1;
}
.campaign-card-stat.is-failed .campaign-card-stat-value {
    color: var(--go-danger);
}
.campaign-card-meta {
    display: grid;
    gap: 6px;
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    line-height: 1.5;
}
.campaign-card-meta-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.campaign-card-meta-pill {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 7px;
    background: color-mix(in srgb, var(--go-bg) 74%, var(--go-surface));
    color: var(--go-text);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
}
.campaign-card-meta-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.campaign-card-meta-row span:last-child {
    color: var(--go-text);
    text-align: right;
}
.campaign-card-actions {
    display: grid;
    gap: 8px;
    margin-top: auto;
    padding-top: 10px;
    border-top: 0;
}
.campaign-card-actions-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.campaign-links-primary {
    justify-content: flex-end;
}
.campaign-overview-empty {
    padding: 20px;
    border: 1px dashed var(--go-border);
    border-radius: 10px;
    color: var(--go-muted);
    background: var(--go-surface);
}
.campaign-queue-panel {
    overflow: hidden;
}
.campaign-table-header {
    display: flex;
    align-items: stretch;
}
.campaign-table-header .campaign-queue-toggle {
    flex: 1 1 auto;
    min-width: 0;
}
.campaign-table-reset-host {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    padding-right: 16px;
}
.campaign-pending-panel {
    margin-top: 16px;
}
.campaign-queue-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border: 0;
    background: transparent;
    color: var(--ink);
    text-align: left;
    cursor: pointer;
}
.campaign-queue-toggle:hover {
    background: color-mix(in srgb, var(--panel) 84%, var(--line));
}
.campaign-queue-heading {
    display: flex;
    align-items: center;
    min-width: 0;
}
.campaign-queue-meta-group {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}
.campaign-queue-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--muted-ink);
    font-size: var(--go-font-helper-size);
    font-weight: var(--go-font-label-weight);
    text-transform: uppercase;
    letter-spacing: .04em;
}
.campaign-queue-title {
    color: var(--green-dark);
    font-weight: 600;
    line-height: 1.2;
}
.campaign-queue-toggle:hover .campaign-queue-title {
    color: var(--green-dark);
}
.campaign-queue-meta {
    color: var(--muted-ink);
    font-size: var(--go-font-helper-size);
    white-space: nowrap;
}
.campaign-queue-body {
    padding: 10px 16px 16px;
}
.campaign-pending-panel .campaign-contained-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}
.campaign-pending-panel .campaign-contained-table :is(th, td) {
    min-width: 0;
    padding-inline: 0 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    text-indent: 10px;
    overflow-wrap: anywhere;
    white-space: normal !important;
}
.campaign-pending-panel .campaign-contained-table tbody td > :is(.campaign-cell-text, a) {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    contain: inline-size;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.campaign-pending-panel .campaign-contained-table tbody td.status-col > .go-status-pill {
    width: 42px;
    max-width: 42px;
    contain: inline-size;
}
.campaign-pending-panel .campaign-contained-table tbody td.status-col > .campaign-tag-icons {
    width: 56px;
    max-width: 56px;
    contain: inline-size;
}
.campaign-pending-panel .campaign-contained-table :is(.status-col, .table-action-cell) {
    text-indent: 0;
    text-align: center;
}
.campaign-queue-body[hidden] {
    display: none;
}
.campaign-tag-icons {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: nowrap;
    white-space: nowrap;
}
.campaign-tag-icons > * {
    flex: 0 0 auto;
}
.campaign-tag-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: color-mix(in srgb, var(--green-dark) 8%, var(--paper));
    color: var(--green-dark);
}
.campaign-tag-icon svg {
    width: 14px;
    height: 14px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.campaign-mobile-queue-list,
.campaign-mobile-log-list {
    display: none;
}
.campaign-mobile-queue-card,
.campaign-mobile-log-card {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--go-border);
    border-radius: 14px;
    background: var(--go-surface);
}
.campaign-mobile-queue-head,
.campaign-mobile-log-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
}
.campaign-mobile-queue-title,
.campaign-mobile-log-title {
    display: grid;
    gap: 3px;
    min-width: 0;
}
.campaign-mobile-queue-title strong,
.campaign-mobile-log-title strong {
    color: var(--go-text);
    font-size: 14px;
    line-height: 1.35;
}
.campaign-mobile-queue-title span,
.campaign-mobile-log-title span {
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    line-height: 1.45;
}
.campaign-mobile-queue-meta,
.campaign-mobile-log-meta {
    display: grid;
    gap: 6px;
}
.campaign-mobile-queue-row,
.campaign-mobile-log-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    line-height: 1.45;
}
.campaign-mobile-queue-row span:last-child,
.campaign-mobile-log-row span:last-child {
    color: var(--go-text);
    text-align: right;
}
.campaign-mobile-queue-actions {
    display: grid;
    gap: 8px;
}
.campaign-mobile-log-card.is-muted {
    background: color-mix(in srgb, var(--go-bg) 76%, var(--go-surface));
}
.campaign-mobile-empty {
    padding: 16px 14px;
    border: 1px dashed var(--go-border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--go-bg) 72%, var(--go-surface));
    color: var(--go-muted);
    text-align: center;
    line-height: 1.6;
}
body[data-theme-choice="modern"] .campaign-page {
    gap: 22px;
}
body[data-theme-choice="modern"] .campaign-notice-card,
body[data-theme-choice="modern"] .campaign-overview-grid .metric,
body[data-theme-choice="modern"] .campaign-queue-panel,
body[data-theme-choice="modern"] .campaign-queue-body .table-wrap {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
body[data-theme-choice="modern"] .campaign-notice-card {
    color: var(--go-muted);
    background: color-mix(in srgb, var(--go-primary-soft) 38%, var(--go-surface));
    border-color: color-mix(in srgb, var(--go-primary) 14%, var(--go-border));
}
body[data-theme-choice="modern"] .campaign-notice-icon {
    background: var(--go-primary-soft);
    color: var(--go-primary);
}
body[data-theme-choice="modern"] .campaign-overview-grid .metric {
    border-radius: 10px;
}
body[data-theme-choice="modern"] .campaign-overview-grid .metric.is-campaign-active {
    border-color: color-mix(in srgb, var(--go-primary) 38%, var(--go-border));
}
body[data-theme-choice="modern"] .campaign-overview-grid .metric.is-campaign-inactive {
    border-color: color-mix(in srgb, var(--go-muted) 28%, var(--go-border));
}
body[data-theme-choice="modern"] .campaign-overview-grid .metric.has-campaign-failures {
    border-color: color-mix(in srgb, var(--go-danger) 44%, var(--go-border));
}
body[data-theme-choice="modern"] .campaign-overview-grid .metric strong {
    color: var(--go-text);
}
body[data-theme-choice="modern"] .campaign-overview-grid .metric p {
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .campaign-card-pending strong {
    color: var(--go-primary);
}
body[data-theme-choice="modern"] .campaign-card-stat {
    border-color: var(--go-border);
}
body[data-theme-choice="modern"] .campaign-queue-panel {
    border-radius: 10px;
    border-color: var(--go-border);
}
body[data-theme-choice="modern"] .campaign-queue-toggle:hover {
    background: var(--go-row-hover);
}
body[data-theme-choice="modern"] .campaign-queue-title {
    color: var(--go-text);
}
body[data-theme-choice="modern"] .campaign-queue-meta,
body[data-theme-choice="modern"] .campaign-queue-state {
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .campaign-queue-body .table-wrap {
    margin: 0;
    border-radius: 10px;
    overflow: hidden;
    background: color-mix(in srgb, var(--go-bg) 50%, var(--go-surface));
}
body[data-theme-choice="modern"] .campaign-queue-body thead th {
    color: var(--go-muted);
    font-weight: 600;
    background: transparent;
    font-size: 12px;
}
body[data-theme-choice="modern"] .campaign-queue-body tbody td {
    padding-top: 14px;
    padding-bottom: 14px;
}
body[data-theme-choice="modern"] .campaign-queue-body tbody tr:hover td {
    background: var(--go-row-hover);
}
body[data-theme-choice="modern"] .campaign-tag-icon {
    border-color: var(--go-border);
    background: var(--go-primary-soft);
    color: var(--go-primary);
}
body[data-theme-choice="modern"] .campaign-log-panel {
    border-color: color-mix(in srgb, var(--go-border) 78%, var(--go-surface));
    background: color-mix(in srgb, var(--go-bg) 70%, var(--go-surface));
}
body[data-theme-choice="modern"] .campaign-log-panel .campaign-queue-title,
body[data-theme-choice="modern"] .campaign-log-panel .campaign-queue-meta,
body[data-theme-choice="modern"] .campaign-log-panel .campaign-queue-state {
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .campaign-log-panel .campaign-queue-body .table-wrap {
    background: color-mix(in srgb, var(--go-bg) 72%, var(--go-surface));
    border-color: color-mix(in srgb, var(--go-border) 72%, var(--go-surface));
}
body[data-theme-choice="modern"] .campaign-log-panel .campaign-queue-body thead th,
body[data-theme-choice="modern"] .campaign-log-panel .campaign-queue-body tbody td {
    font-size: 12px;
}
body[data-theme-choice="modern"] .campaign-log-panel .campaign-queue-body tbody td {
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .campaign-log-panel .campaign-queue-body tbody td a {
    color: var(--go-text);
}
@media (max-width: 960px) {
    .campaign-page {
        gap: 16px;
    }
    .campaign-page-header {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .campaign-page-header-copy p {
        margin-top: 6px;
        max-width: none;
        line-height: 1.5;
    }
    .campaign-page-header-actions .go-action-button {
        width: 100%;
        min-height: 44px;
        justify-content: center;
    }
    .campaign-notice-card {
        padding: 12px 14px;
    }
    .campaign-mobile-summary {
        display: grid;
        gap: 12px;
    }
    .campaign-section-stack {
        gap: 12px;
    }
    .campaign-overview-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .campaign-overview-grid .metric {
        padding: 14px;
        gap: 10px;
    }
    .campaign-card-actions {
        gap: 10px;
    }
    .campaign-card-head {
        gap: 10px;
    }
    .campaign-card-topline {
        gap: 12px;
    }
    .campaign-card-name {
        font-size: 15px;
    }
    .campaign-card-pending {
        padding: 10px 12px;
    }
    .campaign-card-pending strong {
        font-size: 26px;
    }
    .campaign-card-stats {
        gap: 8px;
    }
    .campaign-card-stat {
        padding: 9px 10px;
    }
    .campaign-card-overview-row {
        align-items: stretch;
    }
    .campaign-card-actions-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .campaign-links,
    .campaign-links-primary {
        width: 100%;
    }
    .campaign-links {
        justify-content: flex-start;
    }
    .campaign-links-primary {
        justify-content: flex-start;
    }
    .campaign-links .go-action-button,
    .campaign-links button {
        min-height: 44px;
        justify-content: center;
    }
    .campaign-queue-toggle {
        padding: 12px 14px;
    }
    .campaign-queue-panel {
        border-radius: 14px;
    }
    .campaign-queue-body {
        padding: 0 14px 14px;
    }
    .campaign-queue-body .table-wrap {
        display: none;
    }
    .campaign-mobile-queue-list,
    .campaign-mobile-log-list {
        display: grid;
        gap: 10px;
    }
}
@media (max-width: 680px) {
    .campaign-mobile-summary-grid {
        grid-template-columns: 1fr;
    }
    .campaign-links {
        gap: 8px;
    }
    .campaign-queue-meta {
        white-space: normal;
        text-align: right;
    }
    .campaign-queue-meta-group {
        gap: 10px;
    }
    .campaign-card-meta-row {
        flex-direction: column;
        gap: 2px;
    }
    .campaign-card-meta-row span:last-child {
        text-align: left;
    }
    .campaign-card-stats {
        grid-template-columns: 1fr;
    }
    .campaign-card-overview-row {
        display: grid;
    }
    .campaign-card-overview-row .campaign-card-meta {
        max-width: none;
    }
    .campaign-card-compact-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .campaign-mobile-queue-head,
    .campaign-mobile-log-head,
    .campaign-mobile-queue-row,
    .campaign-mobile-log-row {
        grid-template-columns: 1fr;
        display: grid;
    }
    .campaign-mobile-queue-row span:last-child,
    .campaign-mobile-log-row span:last-child {
        text-align: left;
    }
}


/* Client form page migrated from resources/views/ghm-ops/clients/form.blade.php */
.client-form-page {
    display: grid;
    gap: 26px;
}
.client-form-page .client-form-mobile-summary {
    display: none;
}
.client-form-page .client-form-footer-actions {
    display: none;
}
.client-form-page .client-form-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.client-form-page .client-form-header-copy h1 {
    margin: 0;
    color: var(--go-text);
}
.client-form-page .client-form-header-copy p {
    margin: 8px 0 0;
    color: var(--go-muted);
    line-height: 1.55;
    max-width: 760px;
}
.client-form-page .client-form-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.client-form-page .form-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .45fr);
    gap: 22px;
    align-items: start;
}
.client-form-page .form-shell.client-steps-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.client-form-page .client-steps-stack {
    display: grid;
    gap: 22px;
    align-content: start;
}
.client-form-page .form-panel {
    display: grid;
    gap: 18px;
}
.client-form-page .form-panel h2 {
    margin: 0;
    color: var(--go-text);
}
.client-form-page .form-panel p {
    margin: 0;
    color: var(--muted-ink);
}
.client-form-page .panel.form-panel {
    gap: 22px;
    padding: 20px;
}
.client-form-page .form-panel .helper {
    color: var(--muted-ink);
    font-size: var(--go-font-helper-size);
    line-height: 1.5;
}
.client-form-page .field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.client-form-page .field-grid .full {
    grid-column: 1 / -1;
}
.client-form-page label {
    display: grid;
    gap: 7px;
    color: var(--go-text);
    font-weight: 600;
}
.client-form-page input:focus, .client-form-page select:focus, .client-form-page textarea:focus {
    border-color: var(--go-primary);
    box-shadow: 0 0 0 3px rgba(47, 125, 50, 0.12);
    outline: none;
}
.client-form-page .client-section-step {
    display: inline-flex;
    align-items: center;
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.client-form-page .client-section-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    margin-right: 8px;
    border-radius: 999px;
    background: var(--go-primary);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}
.client-form-page textarea[name="notes"] {
    min-height: 170px;
}
.client-form-page .campaign-settings-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--go-border);
    border-radius: 10px;
    background: color-mix(in srgb, var(--go-bg) 72%, var(--go-surface));
}
.client-form-page .campaign-settings-list .check-row:first-child {
    margin-bottom: 0;
}
.client-form-page .campaign-settings-list > .campaign-settings-subtitle,
.client-form-page .campaign-settings-list > .is-caution {
    grid-column: 1 / -1;
}
.client-form-page .campaign-settings-subtitle {
    margin: 0;
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    line-height: 1.45;
}
.client-form-page label.check-row {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--ink);
    font-weight: 500;
    width: 100%;
}
.client-form-page label.check-row span {
    min-width: 0;
}
.client-form-page label.check-row.is-caution {
    display: inline-flex;
    padding: 12px 14px;
    border: 1px solid color-mix(in srgb, var(--go-danger) 18%, var(--go-border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--go-danger-soft) 58%, var(--go-surface));
}
.client-form-page label.check-row input {
    width: auto;
    min-height: auto;
    flex: 0 0 auto;
}
body[data-theme-choice="modern"] .client-form-page {
    gap: 22px;
}
body[data-theme-choice="modern"] .client-form-page .form-shell .panel {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
body[data-theme-choice="modern"] .client-form-page .form-panel > div:first-child {
    display: grid;
    gap: 8px;
}
body[data-theme-choice="modern"] .client-form-page .form-panel h2 {
    color: var(--go-text);
}
body[data-theme-choice="modern"] .client-form-page .form-panel p, body[data-theme-choice="modern"] .client-form-page .form-panel .helper {
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .client-form-page .check-row {
    color: var(--go-text);
    font-weight: 600;
}
body[data-theme-choice="modern"] .client-form-page .campaign-settings-list {
    border-color: var(--go-border);
    background: color-mix(in srgb, var(--go-primary-soft) 26%, var(--go-surface));
}
body[data-theme-choice="modern"] .client-form-page .campaign-settings-subtitle {
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .client-form-page .client-workflow-card {
    background: color-mix(in srgb, var(--go-bg) 78%, var(--go-surface));
}
body[data-theme-choice="modern"] .client-form-page .client-workflow-card p {
    color: var(--go-muted);
    font-size: calc(var(--go-font-helper-size) + 1px);
}
@media (max-width: 960px) {
    .client-form-page .client-form-header,
    .client-form-page .form-shell,
    .client-form-page .field-grid {
        grid-template-columns: 1fr;
    }
    .client-form-page .form-shell.client-steps-grid {
        grid-template-columns: 1fr;
    }
    .client-form-page .client-form-header {
        flex-direction: column;
        align-items: stretch;
    }
}
@media (max-width: 960px) {
    .client-form-page {
        gap: 16px;
    }
    .client-form-page .client-form-header {
        gap: 12px;
    }
    .client-form-page .client-form-header-copy p {
        margin-top: 6px;
        max-width: none;
    }
    .client-form-page .client-form-mobile-summary {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .client-form-page .client-form-mobile-summary-card {
        display: grid;
        gap: 6px;
        min-height: 78px;
        padding: 14px;
        border: 1px solid var(--go-border);
        border-radius: 14px;
        background: var(--go-surface);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    }
    .client-form-page .client-form-mobile-summary-card span {
        color: var(--go-muted);
        font-size: var(--go-font-label-size);
        font-weight: var(--go-font-label-weight);
    }
    .client-form-page .client-form-mobile-summary-card strong {
        color: var(--go-text);
        font-size: 16px;
        line-height: 1.35;
    }
    .client-form-page .client-form-header-actions {
        display: none;
    }
    .client-form-page .form-shell {
        gap: 16px;
    }
    .client-form-page .client-steps-stack {
        gap: 16px;
    }
    .client-form-page .panel.form-panel {
        gap: 16px;
        padding: 16px;
        border-radius: 14px;
    }
    body[data-theme-choice="modern"] .client-form-page .form-panel > div:first-child {
        gap: 6px;
    }
    .client-form-page .client-section-step {
        color: var(--go-text);
    }
    .client-form-page .field-grid {
        gap: 14px;
    }
    .client-form-page label {
        gap: 6px;
    }
    .client-form-page textarea[name="notes"] {
        min-height: 150px;
    }
    .client-form-page .campaign-settings-list {
        gap: 10px;
        padding: 14px;
        border-radius: 12px;
    }
    .client-form-page .campaign-settings-list .check-row:first-child {
        margin-bottom: 0;
    }
    .client-form-page label.check-row {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
        gap: 10px;
        padding: 10px 0;
    }
    .client-form-page label.check-row.is-caution {
        padding: 12px 14px;
    }
    .client-form-page label.check-row input {
        margin-top: 2px;
    }
    .client-form-page .campaign-settings-subtitle, .client-form-page .form-panel .helper, body[data-theme-choice="modern"] .client-form-page .form-panel .helper {
        font-size: 12px;
        line-height: 1.5;
    }
    .client-form-page .client-workflow-card p, body[data-theme-choice="modern"] .client-form-page .client-workflow-card p {
        font-size: 13px;
        line-height: 1.55;
    }
    .client-form-page .client-form-footer-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .client-form-page .client-form-footer-actions .go-action-button, .client-form-page .client-form-footer-actions button {
        min-height: 44px;
        width: 100%;
        justify-content: center;
    }
}
@media (max-width: 680px) {
    .client-form-page .client-form-mobile-summary {
        grid-template-columns: 1fr;
    }
    .client-form-page .client-form-footer-actions {
        grid-template-columns: 1fr 1fr;
    }
    .client-form-page .panel.form-panel {
        padding: 14px;
    }
}


/* Inventory form page migrated from resources/views/ghm-ops/inventory-items/form.blade.php */
.inventory-form-page {
    display: grid;
    gap: 20px;
}
.inventory-form-page .inventory-form-mobile-summary {
    display: none;
}
.inventory-form-page .inventory-form-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.inventory-form-page .inventory-form-header-copy h1 {
    margin: 0;
    color: var(--go-text);
}
.inventory-form-page .inventory-form-header-copy p {
    margin: 8px 0 0;
    color: var(--go-muted);
}
.inventory-form-page .inventory-form-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.inventory-form-page .inventory-form-submit {
    min-width: 112px;
}
.inventory-form-page .inventory-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .55fr);
    gap: 20px;
    align-items: start;
}
.inventory-form-page .inventory-form-main {
    display: grid;
    gap: 18px;
}
.inventory-form-page .inventory-form-section-intro {
    display: grid;
    gap: 8px;
}
.inventory-form-page .inventory-section-step {
    display: inline-flex;
    align-items: center;
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.inventory-form-page .inventory-section-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    margin-right: 8px;
    border-radius: 999px;
    background: var(--go-primary);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}
.inventory-form-page .inventory-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.inventory-form-page .inventory-fields label {
    display: grid;
    gap: 7px;
    color: var(--go-text);
    font-weight: 600;
}
.inventory-form-page .inventory-fields .full {
    grid-column: 1 / -1;
}
.inventory-form-page .inventory-subsection {
    display: grid;
    gap: 12px;
}
.inventory-form-page .inventory-subsection + .inventory-subsection {
    margin-top: 4px;
}
.inventory-form-page .inventory-subsection.inventory-stock-fields {
    display: grid;
    gap: 14px;
}
.inventory-form-page .inventory-subsection-head {
    display: grid;
    gap: 4px;
}
.inventory-form-page .inventory-subsection-head strong {
    color: var(--go-text);
    font-size: var(--go-font-label-size);
    font-weight: 700;
}
.inventory-form-page .inventory-subsection-head span {
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    line-height: 1.5;
}
.inventory-form-page .inventory-subsection.inventory-description-section {
    margin-top: 10px;
}
.inventory-form-page .inventory-price-field input {
    font-weight: 700;
    border-color: color-mix(in srgb, var(--go-primary) 22%, var(--input-border));
    background: color-mix(in srgb, var(--go-primary-soft) 18%, var(--input-bg));
}
.inventory-form-page .inventory-price-field, .inventory-form-page .inventory-price-field .helper {
    color: var(--go-text);
}
.inventory-form-page .inventory-price-field .helper {
    font-weight: 600;
}
.inventory-form-page .inventory-cost-field .helper, .inventory-form-page .inventory-cost-field input {
    color: var(--go-muted);
}
.inventory-form-page input:focus, .inventory-form-page select:focus, .inventory-form-page textarea:focus {
    border-color: var(--go-primary);
    box-shadow: 0 0 0 3px rgba(47, 125, 50, 0.12);
    outline: none;
}
.inventory-form-page .check-row {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--ink);
    font-weight: var(--go-font-badge-weight);
}
.inventory-form-page .check-row input {
    width: auto;
    min-height: auto;
}
.inventory-form-page .inventory-stock-toggle {
    display: grid;
    gap: 8px;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: color-mix(in srgb, var(--paper) 94%, var(--surface));
}
.inventory-form-page .inventory-toggle-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: color-mix(in srgb, var(--paper) 92%, var(--surface));
}
.inventory-form-page .inventory-stock-fields-body[hidden] {
    display: none;
}
.inventory-form-page .inventory-toggle-left {
    justify-content: flex-start;
    text-align: left;
}
.inventory-form-page .inventory-toggle-center {
    justify-content: flex-start;
    text-align: left;
}
.inventory-form-page .inventory-status-panel form {
    margin: 0;
}
.inventory-form-page .inventory-status-card {
    display: grid;
    justify-items: start;
    gap: 10px;
    margin-bottom: 12px;
}
.inventory-form-page .danger-panel {
    border-color: color-mix(in srgb, var(--warn) 35%, var(--line));
}
.inventory-form-page .danger-panel h2 {
    color: var(--warn);
}
.inventory-form-page .helper {
    margin: 0;
    color: var(--muted-ink);
}
.inventory-form-page .inventory-stock-helper {
    margin-top: -2px;
}
.inventory-form-page .inventory-note-card {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: color-mix(in srgb, var(--paper) 90%, var(--surface));
}
.inventory-form-page .inventory-note-card p {
    margin: 0;
    font-size: calc(var(--go-font-helper-size) - 1px);
    line-height: 1.5;
}
.inventory-form-page .inventory-mobile-notes-title {
    display: none;
    margin: 0;
    color: var(--go-text);
}
body[data-theme-choice="modern"] .inventory-form-page {
    gap: 22px;
}
body[data-theme-choice="modern"] .inventory-form-page .inventory-form-grid {
    gap: 20px;
}
body[data-theme-choice="modern"] .inventory-form-page .inventory-form-grid .panel, body[data-theme-choice="modern"] .inventory-form-page .inventory-form-grid .stack .panel, body[data-theme-choice="modern"] .inventory-form-page .inventory-form-grid form.panel {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
body[data-theme-choice="modern"] .inventory-form-page .inventory-form-grid form.panel {
    gap: 18px;
}
body[data-theme-choice="modern"] .inventory-form-page .inventory-form-grid h2 {
    color: var(--go-text);
}
body[data-theme-choice="modern"] .inventory-form-page .helper {
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .inventory-form-page .check-row {
    color: var(--go-text);
}
body[data-theme-choice="modern"] .inventory-form-page .inventory-stock-toggle, body[data-theme-choice="modern"] .inventory-form-page .inventory-toggle-row {
    border-color: var(--go-border);
    background: var(--go-bg);
}
body[data-theme-choice="modern"] .inventory-form-page .inventory-note-card {
    border-color: color-mix(in srgb, var(--go-border) 76%, var(--go-surface));
    background: color-mix(in srgb, var(--go-bg) 78%, var(--go-surface));
}
body[data-theme-choice="modern"] .inventory-form-page .danger-panel {
    border-color: color-mix(in srgb, var(--go-danger) 24%, var(--go-border));
    background: color-mix(in srgb, var(--go-danger-soft) 45%, var(--go-surface));
}
body[data-theme-choice="modern"] .inventory-form-page .danger-panel h2 {
    color: var(--go-danger);
}
@media (max-width: 960px) {
    .inventory-form-page .inventory-form-header {
        flex-direction: column;
        align-items: stretch;
    }
    .inventory-form-page .inventory-form-header-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        width: 100%;
    }
    .inventory-form-page .inventory-form-header-actions .go-action-button, .inventory-form-page .inventory-form-header-actions button {
        width: 100%;
        min-height: 44px;
        justify-content: center;
    }
    .inventory-form-page .inventory-form-grid, .inventory-form-page .inventory-fields {
        grid-template-columns: 1fr;
    }
    .inventory-form-page .inventory-toggle-row {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 960px) {
    .inventory-form-page {
        gap: 16px;
    }
    .inventory-form-page .inventory-form-header {
        gap: 12px;
    }
    .inventory-form-page .inventory-form-header-copy p {
        margin-top: 6px;
        line-height: 1.5;
    }
    .inventory-form-page .inventory-form-mobile-summary {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .inventory-form-page .inventory-form-mobile-summary-card {
        display: grid;
        gap: 6px;
        min-height: 78px;
        padding: 14px;
        border: 1px solid var(--go-border);
        border-radius: 14px;
        background: var(--go-surface);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    }
    .inventory-form-page .inventory-form-mobile-summary-card span {
        color: var(--go-muted);
        font-size: var(--go-font-label-size);
        font-weight: var(--go-font-label-weight);
    }
    .inventory-form-page .inventory-form-mobile-summary-card strong {
        color: var(--go-text);
        font-size: 16px;
        line-height: 1.35;
    }
    .inventory-form-page .inventory-form-main {
        gap: 14px;
    }
    body[data-theme-choice="modern"] .inventory-form-page .inventory-form-grid form.panel {
        gap: 14px;
    }
    .inventory-form-page .inventory-form-section-intro {
        gap: 6px;
    }
    .inventory-form-page .inventory-section-step {
        color: var(--go-text);
    }
    .inventory-form-page .inventory-subsection {
        gap: 10px;
        padding: 14px;
        border: 1px solid var(--go-border);
        border-radius: 12px;
        background: var(--go-surface);
    }
    .inventory-form-page .inventory-subsection + .inventory-subsection {
        margin-top: 0;
    }
    .inventory-form-page .inventory-subsection.inventory-description-section {
        margin-top: 0;
    }
    .inventory-form-page .inventory-subsection-head {
        gap: 3px;
    }
    .inventory-form-page .inventory-subsection-head strong {
        font-size: 15px;
    }
    .inventory-form-page .inventory-subsection-head span {
        line-height: 1.45;
    }
    .inventory-form-page .inventory-fields {
        gap: 12px;
    }
    .inventory-form-page .inventory-fields label {
        gap: 6px;
    }
    .inventory-form-page .inventory-stock-toggle, .inventory-form-page .inventory-toggle-row, .inventory-form-page .inventory-note-card {
        padding: 12px 14px;
        border-radius: 10px;
    }
    .inventory-form-page .inventory-stock-fields-body .inventory-fields {
        margin-top: 2px;
    }
    .inventory-form-page .inventory-mobile-notes-title {
        display: block;
    }
    .inventory-form-page .inventory-form-grid > aside.stack {
        gap: 12px;
    }
    .inventory-form-page .inventory-form-grid > aside.stack .panel {
        padding: 14px;
        border-radius: 12px;
    }
}
@media (max-width: 680px) {
    .inventory-form-page .inventory-form-mobile-summary {
        grid-template-columns: 1fr;
    }
    .inventory-form-page .inventory-form-header-actions {
        grid-template-columns: 1fr;
    }
}


/* Ticket form page migrated from resources/views/ghm-ops/job-tickets/form.blade.php */
.ticket-form-page {
    display: grid;
    gap: 24px;
}
.ticket-form-page .ticket-form-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.ticket-form-page .ticket-form-header-copy h1 {
    margin: 0;
    color: var(--go-text);
}
.ticket-form-page .ticket-form-header-copy p {
    margin: 8px 0 0;
    color: var(--go-muted);
    line-height: 1.55;
    max-width: 760px;
}
.ticket-form-page .ticket-form-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.ticket-form-page .ticket-form-mobile-summary {
    display: none;
}
.ticket-form-page .form-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}
.ticket-form-page .form-panel {
    display: grid;
    gap: 18px;
}
.ticket-form-page .ticket-steps-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
}
.ticket-form-page .ticket-steps-grid > .ticket-form-section + .ticket-form-section {
    margin-top: 0;
}
.ticket-form-page .ticket-form-section {
    gap: 20px;
    padding: 20px;
}
.ticket-form-page .form-panel h2 {
    margin: 0;
}
.ticket-form-page .form-panel p {
    margin: 0;
    color: var(--muted-ink);
}
.ticket-form-page .helper {
    margin: 0;
    color: var(--muted-ink);
    font-size: var(--go-font-helper-size);
    line-height: 1.5;
}
.ticket-form-page .panel.form-panel {
    gap: 20px;
}
.ticket-form-page .field-grid label {
    display: grid;
    gap: 7px;
    color: var(--go-text);
    font-weight: 600;
}
.ticket-form-page .field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.ticket-form-page .field-grid .full {
    grid-column: 1 / -1;
}
.ticket-form-page input:focus, .ticket-form-page select:focus, .ticket-form-page textarea:focus {
    border-color: var(--go-primary);
    box-shadow: 0 0 0 3px rgba(47, 125, 50, 0.12);
    outline: none;
}
.ticket-form-page .ticket-step-label {
    display: inline-flex;
    align-items: center;
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 2px;
}
.ticket-form-page .ticket-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: var(--go-primary);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    margin-right: 8px;
    vertical-align: middle;
}
.ticket-form-page .ticket-form-section + .ticket-form-section {
    margin-top: 4px;
}
.ticket-form-page .ticket-form-section.is-first-step {
    border-color: color-mix(in srgb, var(--go-primary) 26%, var(--go-border));
    box-shadow: 0 10px 28px rgba(47, 125, 50, 0.08);
}
.ticket-form-page .ticket-form-section.is-first-step .ticket-step-label, .ticket-form-page .ticket-form-section.is-first-step .ticket-section-intro h2 {
    color: var(--go-text);
}
.ticket-form-page .ticket-section-intro {
    display: grid;
    gap: 8px;
}
.ticket-form-page .ticket-note-field {
    display: grid;
    gap: 8px;
}
.ticket-form-page .ticket-note-field.ticket-note-primary label {
    color: var(--go-text);
    font-weight: 700;
}
.ticket-form-page .section-heading {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.ticket-form-page .help-inline {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.ticket-form-page .help-badge {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(in srgb, var(--green-dark) 30%, var(--line));
    border-radius: 999px;
    color: var(--green-dark);
    background: color-mix(in srgb, var(--green-dark) 12%, var(--paper));
    font-size: var(--go-font-badge-size);
    font-weight: var(--go-font-badge-weight);
    line-height: 1;
    cursor: help;
}
.ticket-form-page .help-tooltip {
    position: absolute;
    left: calc(100% + 8px);
    top: 50%;
    transform: translateY(-50%);
    width: min(320px, 68vw);
    padding: 10px 12px;
    border: 2px solid color-mix(in srgb, #000 60%, var(--line));
    border-radius: 8px;
    background: color-mix(in srgb, var(--green-dark) 16%, var(--paper));
    color: var(--ink);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
    font-size: var(--go-font-helper-size);
    line-height: 1.55;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .16s ease, visibility .16s ease;
    z-index: 20;
}
.ticket-form-page .help-inline:hover .help-tooltip, .ticket-form-page .help-inline:focus-within .help-tooltip {
    opacity: 1;
    visibility: visible;
}
.ticket-form-page .ticket-line-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding-bottom: 6px;
}
.ticket-form-page .ticket-line-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.ticket-form-page .ticket-line-meta {
    color: var(--muted-ink);
    font-size: var(--go-font-helper-size);
}
.ticket-form-page .ticket-line-error {
    display: none;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--warn) 34%, var(--line));
    border-radius: 8px;
    background: color-mix(in srgb, var(--warn) 10%, var(--paper));
    color: var(--warn);
}
.ticket-form-page .ticket-line-error.is-visible {
    display: block;
}
.ticket-form-page .ticket-line-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 10px;
}
.ticket-form-page .ticket-line-summary-empty {
    padding: 14px;
    border: 1px dashed var(--line);
    border-radius: 8px;
    color: var(--muted-ink);
    background: color-mix(in srgb, var(--paper) 92%, var(--line));
}
.ticket-form-page .ticket-line-summary-card {
    display: grid;
    gap: 6px;
    min-height: 116px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--paper);
}
.ticket-form-page .ticket-line-summary-card h3 {
    margin: 0;
    font-size: 13px;
}
.ticket-form-page .ticket-line-summary-card p {
    margin: 0;
    color: var(--muted-ink);
    font-size: 11px;
    line-height: 1.45;
}
.ticket-form-page .ticket-line-summary-card footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    font-size: 11px;
}
.ticket-form-page .ticket-line-summary-card .money {
    color: var(--ink);
    font-weight: 600;
}
.ticket-form-page .ticket-line-summary-footer {
    display: flex;
    justify-content: flex-end;
    gap: 18px;
    align-items: center;
    flex-wrap: wrap;
    padding-top: 8px;
}
.ticket-form-page #ticket-line-summary-count {
    color: var(--go-muted);
}
.ticket-form-page #ticket-line-summary-total {
    font-size: 22px;
    line-height: 1;
    text-align: right;
    font-weight: 700;
    color: var(--go-text);
}
.ticket-form-page .ticket-line-hidden {
    display: none;
}
.ticket-form-page .ticket-lines-modal[hidden] {
    display: none;
}
.ticket-form-page .ticket-lines-modal {
    position: fixed;
    inset: 0;
    z-index: 90;
    padding: 8px;
}
.ticket-form-page .ticket-lines-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.5);
}
.ticket-form-page .ticket-lines-dialog {
    position: relative;
    z-index: 1;
    width: min(1120px, calc(100vw - 16px));
    height: calc(100dvh - 16px);
    max-height: calc(100dvh - 16px);
    margin: 0 auto;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--go-border);
    border-radius: 10px;
    background: var(--go-surface);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.18);
}
.ticket-form-page .ticket-lines-head, .ticket-form-page .ticket-lines-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    border-bottom: 1px solid var(--go-border);
    background: var(--go-surface);
}
.ticket-form-page .ticket-lines-foot {
    border-top: 1px solid var(--go-border);
    border-bottom: 0;
    justify-content: flex-end;
}
.ticket-form-page .ticket-lines-head h2 {
    margin: 0;
    font-size: 16px;
    color: var(--go-text);
}
.ticket-form-page .ticket-lines-head p {
    color: var(--go-muted);
}
.ticket-form-page .ticket-lines-close {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--go-muted);
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}
.ticket-form-page .ticket-lines-body {
    display: grid;
    grid-template-columns: minmax(0, 440px) minmax(0, 1fr);
    align-items: stretch;
    gap: 18px;
    min-height: 0;
    padding: 18px;
    overflow: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background: var(--go-bg);
}
.ticket-form-page .ticket-lines-editor, .ticket-form-page .ticket-lines-current {
    display: grid;
    align-content: start;
    gap: 12px;
    min-height: 0;
    height: 100%;
    box-sizing: border-box;
    padding: 14px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
}
.ticket-form-page .ticket-lines-editor h3, .ticket-form-page .ticket-lines-current h3 {
    margin: 0;
    font-size: 13px;
    color: var(--go-text);
}
.ticket-form-page .ticket-lines-editor-grid {
    display: grid;
    gap: 12px;
    min-height: 0;
}
.ticket-form-page .ticket-lines-editor-grid label {
    display: grid;
    gap: 6px;
    margin: 0;
}
.ticket-form-page .ticket-lines-editor-grid input,
.ticket-form-page .ticket-lines-editor-grid textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.ticket-form-page .ticket-lines-search {
    position: relative;
    display: grid;
    gap: 6px;
}
.ticket-form-page .ticket-lines-search-results[hidden] {
    display: none;
}
.ticket-form-page .ticket-lines-search-results {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 6;
    display: grid;
    gap: 0;
    max-height: 320px;
    overflow: auto;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.16);
}
.ticket-form-page .ticket-lines-search-option {
    display: grid;
    gap: 3px;
    width: 100%;
    padding: 10px 12px;
    border: 0;
    border-bottom: 1px solid var(--go-border);
    background: transparent;
    color: var(--go-text);
    text-align: left;
    cursor: pointer;
}
.ticket-form-page .ticket-lines-search-option:last-child {
    border-bottom: 0;
}
.ticket-form-page .ticket-lines-search-option:hover, .ticket-form-page .ticket-lines-search-option.is-active {
    background: var(--go-bg);
}
.ticket-form-page .ticket-lines-search-option strong {
    font-size: 13px;
    font-weight: 700;
    color: var(--go-text);
}
.ticket-form-page .ticket-lines-search-option span {
    color: var(--go-muted);
    font-size: 11px;
    line-height: 1.4;
}
.ticket-form-page .ticket-lines-search-empty {
    padding: 10px 12px;
    color: var(--go-muted);
    font-size: 11px;
}
.ticket-form-page .ticket-lines-amount-row {
    display: grid;
    grid-template-columns: minmax(86px, .8fr) minmax(110px, 1fr) minmax(120px, 1fr);
    gap: 10px;
    align-items: end;
}
.ticket-form-page .ticket-lines-editor-grid label.ticket-line-taxable-row {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    width: fit-content;
}
.ticket-form-page .ticket-line-taxable-row input[type="checkbox"] {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 0;
}
.ticket-form-page .ticket-lines-editor-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    padding-bottom: 2px;
}
.ticket-form-page .ticket-lines-helper {
    color: var(--go-muted);
    font-size: 11px;
}
.ticket-form-page .ticket-lines-current-list {
    display: grid;
    gap: 12px;
}
.ticket-form-page .ticket-lines-current-empty {
    padding: 16px;
    border: 1px dashed var(--go-border);
    border-radius: 8px;
    color: var(--go-muted);
    background: var(--go-bg);
}
.ticket-form-page .ticket-lines-current-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(17, 24, 39, 0.03);
}
.ticket-form-page .ticket-lines-current-item-title {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: start;
}
.ticket-form-page .ticket-lines-current-item-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex-wrap: nowrap;
    max-width: 100%;
}
.ticket-form-page .ticket-lines-current-item-title strong {
    font-size: 13px;
    white-space: nowrap;
}
.ticket-form-page .ticket-lines-current-category {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border: 1px solid var(--go-border);
    border-radius: 7px;
    background: var(--go-bg);
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}
.ticket-form-page .ticket-lines-current-item-title .money {
    white-space: nowrap;
    color: var(--go-text);
}
.knowledge-page {
    display: grid;
    gap: 18px;
}
.knowledge-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.knowledge-page-header h1 {
    margin: 0;
    color: var(--go-text);
    font-size: 24px;
    line-height: 1.2;
}
.knowledge-page-header p {
    margin: 6px 0 0;
    color: var(--go-muted);
}
.knowledge-filter-card,
.knowledge-form-card,
.knowledge-table-shell {
    border: 1px solid var(--go-border);
    border-radius: 10px;
    background: var(--go-surface);
}
.knowledge-filter-card,
.knowledge-form-card {
    padding: 16px;
}
.knowledge-table-shell {
    overflow: hidden;
}
.knowledge-table-count {
    padding: 12px 14px;
    border-bottom: 1px solid var(--go-border);
    color: var(--go-muted);
    font-size: 12px;
    font-weight: 800;
    text-align: right;
}
.knowledge-table-shell td small {
    display: block;
    margin-top: 4px;
    color: var(--go-muted);
    font-size: 12px;
    line-height: 1.35;
}
.knowledge-row-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}
.knowledge-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.documentation-form-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(180px, .8fr) minmax(240px, 1.1fr);
}
.knowledge-form-grid .full {
    grid-column: 1 / -1;
}
.knowledge-form-grid label {
    display: grid;
    gap: 6px;
    color: var(--go-text);
    font-size: 13px;
    font-weight: 700;
}
.knowledge-form-grid input,
.knowledge-form-grid select,
.knowledge-form-grid textarea {
    width: 100%;
}
.knowledge-form-grid textarea {
    min-height: 160px;
    resize: vertical;
}
.knowledge-form-grid .checkbox-field {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: end;
    min-height: var(--go-control-height);
}
.knowledge-form-grid .checkbox-field input {
    width: 16px;
    min-height: 16px;
}
.knowledge-form-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
}
@media (max-width: 960px) {
    .knowledge-page {
        gap: 14px;
    }
    .knowledge-page-header {
        display: grid;
        gap: 12px;
    }
    .knowledge-page-header .go-action-button {
        width: 100%;
        justify-content: center;
    }
    .knowledge-form-grid {
        grid-template-columns: 1fr;
    }
    .knowledge-form-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    .knowledge-form-actions .go-action-button,
    .knowledge-form-actions button {
        width: 100%;
        justify-content: center;
    }
    .knowledge-row-actions {
        justify-content: flex-end;
    }
}
@media (min-width: 641px) and (max-width: 960px) {
    .documentation-form-grid {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, .8fr) minmax(0, 1fr);
    }
}
.ticket-form-page .ticket-lines-current-item p {
    margin: 4px 0 0;
    color: var(--go-muted);
    font-size: 11px;
    line-height: 1.5;
}
.ticket-form-page .ticket-lines-current-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 8px;
    color: var(--go-muted);
    font-size: 11px;
}
.ticket-form-page .ticket-lines-current-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: end;
}
.ticket-form-page .ticket-lines-link {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--go-primary);
    font-size: 11px;
    cursor: pointer;
}
.ticket-form-page .ticket-lines-link.danger {
    color: var(--go-danger);
}
.ticket-form-page .ticket-lines-total {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    align-items: center;
    padding-top: 4px;
    color: var(--go-muted);
}
.ticket-form-page .ticket-lines-total strong {
    font-size: 15px;
    color: var(--go-text);
}
.ticket-form-page .form-footer-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 8px;
}
.ticket-form-page textarea[name="issue_summary"], .ticket-form-page textarea[name="technician_notes"], .ticket-form-page textarea[name="customer_message"] {
    min-height: 0;
}
body[data-theme-choice="modern"] .ticket-form-page {
    gap: 22px;
}
body[data-theme-choice="modern"] .ticket-form-page .form-shell {
    gap: 24px;
}
body[data-theme-choice="modern"] .ticket-form-page .panel.form-panel, body[data-theme-choice="modern"] .ticket-form-page .ticket-line-summary-card {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
body[data-theme-choice="modern"] .ticket-form-page .ticket-form-section {
    padding: 20px;
}
body[data-theme-choice="modern"] .ticket-form-page .panel.form-panel h2, body[data-theme-choice="modern"] .ticket-form-page .panel.form-panel h3 {
    color: var(--go-text);
}
body[data-theme-choice="modern"] .ticket-form-page .ticket-step-label {
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .ticket-form-page .helper {
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .ticket-form-page .form-panel p, body[data-theme-choice="modern"] .ticket-form-page .ticket-line-meta, body[data-theme-choice="modern"] .ticket-form-page .ticket-line-summary-card p {
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .ticket-form-page .help-badge {
    border-color: color-mix(in srgb, var(--go-primary) 22%, var(--go-border));
    background: var(--go-primary-soft);
    color: var(--go-primary);
}
body[data-theme-choice="modern"] .ticket-form-page .help-tooltip {
    border-color: color-mix(in srgb, var(--go-primary) 18%, var(--go-border));
    background: var(--go-surface);
    color: var(--go-text);
}
body[data-theme-choice="modern"] .ticket-form-page .ticket-line-error {
    border-color: color-mix(in srgb, var(--go-danger) 24%, var(--go-border));
    background: var(--go-danger-soft);
    color: var(--go-danger);
}
body[data-theme-choice="modern"] .ticket-form-page .ticket-line-summary-empty {
    border-color: var(--go-border);
    background: var(--go-bg);
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .ticket-form-page .ticket-line-toolbar, body[data-theme-choice="modern"] .ticket-form-page .ticket-line-summary-footer {
    color: var(--go-muted);
}
@media (max-width: 960px) {
    .ticket-form-page .ticket-form-header {
        flex-direction: column;
        align-items: stretch;
    }
    .ticket-form-page .ticket-steps-grid {
        grid-template-columns: 1fr;
    }
    .ticket-form-page .form-shell, .ticket-form-page .field-grid, .ticket-form-page .ticket-lines-body, .ticket-form-page .ticket-lines-amount-row {
        grid-template-columns: 1fr;
    }
    .ticket-form-page .help-tooltip {
        left: auto;
        right: 0;
        top: calc(100% + 8px);
        transform: none;
        width: min(320px, 82vw);
    }
    .ticket-form-page .form-footer-actions {
        justify-content: stretch;
        flex-wrap: wrap;
    }
    .ticket-form-page .form-footer-actions .go-action-button, .ticket-form-page .form-footer-actions button {
        flex: 1 1 160px;
    }
    .ticket-form-page .ticket-lines-modal {
        padding: 12px;
    }
    .ticket-form-page .ticket-lines-dialog {
        width: min(100vw - 24px, 1120px);
        height: calc(100dvh - 24px);
        max-height: calc(100vh - 24px);
        max-height: calc(100dvh - 24px);
    }
    .ticket-form-page .ticket-lines-current-item {
        grid-template-columns: 1fr;
    }
    .ticket-form-page .ticket-lines-current-actions {
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
    }
}
@media (max-width: 960px) {
    .ticket-form-page {
        gap: 16px;
    }
    .ticket-form-page .ticket-form-header {
        gap: 12px;
    }
    .ticket-form-page .ticket-form-header-copy p {
        margin-top: 6px;
        max-width: none;
    }
    .ticket-form-page .ticket-form-mobile-summary {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .ticket-form-page .ticket-form-mobile-summary-card {
        display: grid;
        gap: 6px;
        min-height: 78px;
        padding: 14px;
        border: 1px solid var(--go-border);
        border-radius: 14px;
        background: var(--go-surface);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    }
    .ticket-form-page .ticket-form-mobile-summary-card span {
        color: var(--go-muted);
        font-size: var(--go-font-label-size);
        font-weight: var(--go-font-label-weight);
    }
    .ticket-form-page .ticket-form-mobile-summary-card strong {
        color: var(--go-text);
        font-size: 16px;
        line-height: 1.35;
    }
    .ticket-form-page .ticket-form-header-actions {
        display: none;
    }
    .ticket-form-page .form-shell, body[data-theme-choice="modern"] .ticket-form-page .form-shell {
        gap: 16px;
    }
    .ticket-form-page .panel.form-panel, .ticket-form-page .ticket-form-section, body[data-theme-choice="modern"] .ticket-form-page .ticket-form-section {
        gap: 16px;
        padding: 16px;
        border-radius: 14px;
    }
    .ticket-form-page .ticket-form-section {
        position: relative;
    }
    .ticket-form-page .ticket-form-section.is-first-step {
        box-shadow: 0 10px 22px rgba(47, 125, 50, 0.08);
    }
    .ticket-form-page .ticket-section-intro {
        gap: 6px;
    }
    .ticket-form-page .ticket-step-label {
        margin-bottom: 0;
        color: var(--go-text);
    }
    .ticket-form-page .field-grid, .ticket-form-page .ticket-lines-editor-grid {
        gap: 14px;
    }
    .ticket-form-page .field-grid label {
        gap: 6px;
    }
    .ticket-form-page .ticket-note-field {
        gap: 10px;
    }
    .ticket-form-page .ticket-note-field + .ticket-note-field {
        margin-top: 4px;
    }
    .ticket-form-page .ticket-line-toolbar {
        align-items: stretch;
        gap: 10px;
    }
    .ticket-form-page .ticket-line-toolbar-actions {
        display: grid;
        grid-template-columns: 1fr;
        justify-items: stretch;
        gap: 8px;
        width: 100%;
    }
    .ticket-form-page .ticket-line-toolbar-actions .go-action-button {
        min-height: 44px;
        width: 100%;
    }
    .ticket-form-page #ticket-lines-count-inline, .ticket-form-page #ticket-lines-total-inline {
        font-size: 12px;
    }
    .ticket-form-page .ticket-line-summary-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .ticket-form-page .ticket-line-summary-card {
        min-height: 0;
        padding: 14px;
        gap: 8px;
        border-radius: 12px;
    }
    .ticket-form-page .ticket-line-summary-card h3 {
        font-size: 14px;
    }
    .ticket-form-page .ticket-line-summary-card p, .ticket-form-page .ticket-line-summary-card footer {
        font-size: 12px;
    }
    .ticket-form-page .ticket-line-summary-footer {
        justify-content: space-between;
        gap: 12px;
        padding-top: 2px;
    }
    .ticket-form-page #ticket-line-summary-total {
        font-size: 20px;
    }
    .ticket-form-page .form-footer-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-top: 0;
    }
    .ticket-form-page .form-footer-actions .go-action-button, .ticket-form-page .form-footer-actions button {
        min-height: 44px;
        width: 100%;
        justify-content: center;
    }
    .ticket-form-page .ticket-lines-modal {
        padding: 0;
    }
    .ticket-form-page .ticket-lines-dialog {
        width: 100vw;
        height: 100dvh;
        max-height: 100vh;
        max-height: 100dvh;
        min-height: 0;
        border-radius: 0;
        border-left: 0;
        border-right: 0;
        box-shadow: none;
    }
    .ticket-form-page .ticket-lines-head, .ticket-form-page .ticket-lines-foot {
        padding: 14px 16px;
    }
    .ticket-form-page .ticket-lines-head {
        position: sticky;
        top: 0;
        z-index: 2;
    }
    .ticket-form-page .ticket-lines-foot {
        z-index: 2;
        background: color-mix(in srgb, var(--go-surface) 94%, white);
    }
    .ticket-form-page .ticket-lines-foot .go-action-button {
        min-height: 44px;
    }
    .ticket-form-page .ticket-lines-body {
        gap: 14px;
        padding: 14px;
        padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px));
        overflow: auto;
    }
    .ticket-form-page .ticket-lines-editor, .ticket-form-page .ticket-lines-current {
        gap: 14px;
        min-height: 0;
        padding: 14px;
        border-radius: 12px;
    }
    .ticket-form-page .ticket-lines-helper {
        font-size: 12px;
        line-height: 1.5;
    }
    .ticket-form-page .ticket-lines-current-item {
        gap: 10px;
        padding: 14px;
        border-radius: 10px;
    }
    .ticket-form-page .ticket-lines-current-item-title strong {
        font-size: 14px;
    }
    .ticket-form-page .ticket-lines-current-item p, .ticket-form-page .ticket-lines-current-meta, .ticket-form-page .ticket-lines-link {
        font-size: 12px;
    }
    .ticket-form-page .ticket-lines-total {
        justify-content: space-between;
        padding-top: 0;
    }
    .ticket-form-page .ticket-lines-total strong {
        font-size: 18px;
    }
}
@media (max-width: 680px) {
    .ticket-form-page .ticket-form-mobile-summary {
        grid-template-columns: 1fr;
    }
    .ticket-form-page .ticket-form-header-actions, .ticket-form-page .form-footer-actions {
        grid-template-columns: 1fr 1fr;
    }
    .ticket-form-page .panel.form-panel, .ticket-form-page .ticket-form-section, body[data-theme-choice="modern"] .ticket-form-page .ticket-form-section {
        padding: 14px;
    }
    .ticket-form-page .ticket-lines-head h2 {
        font-size: 15px;
    }
    .ticket-form-page .ticket-lines-head p {
        font-size: 12px;
        line-height: 1.45;
    }
    .ticket-form-page .ticket-lines-editor-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    .ticket-form-page .ticket-lines-editor-actions .go-action-button {
        min-height: 44px;
        width: 100%;
    }
}


/* Invoice form page migrated from resources/views/ghm-ops/invoices/form.blade.php */
.invoice-form-page {
    display: grid;
    gap: 20px;
}
.invoice-form-page .invoice-form-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.invoice-form-page .invoice-form-header-copy h1 {
    margin: 0;
    color: var(--go-text);
}
.invoice-form-page .invoice-form-header-copy p {
    margin: 8px 0 0;
    color: var(--go-muted);
}
.invoice-form-page .invoice-form-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.invoice-form-page .invoice-form-summary {
    display: none;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.invoice-form-page .invoice-form-summary-card {
    display: grid;
    gap: 6px;
    padding: 14px;
    border: 1px solid var(--go-border);
    border-radius: 14px;
    background: var(--go-surface);
}
.invoice-form-page .invoice-form-summary-card span {
    color: var(--go-muted);
    font-size: var(--go-font-label-size);
    font-weight: var(--go-font-label-weight);
}
.invoice-form-page .invoice-form-summary-card strong {
    color: var(--go-text);
    font-size: clamp(1.05rem, 0.95rem + 0.7vw, 1.3rem);
    line-height: 1.1;
}
.invoice-form-page .invoice-form-shell {
    display: grid;
    gap: 16px;
}
.invoice-form-page .invoice-form-section {
    display: grid;
    gap: 14px;
}
.invoice-form-page .invoice-form-section > h2 {
    margin: 0;
    color: var(--go-text);
}
.invoice-form-page .invoice-form-meta-grid, .invoice-form-page .invoice-form-shell .line-grid {
    display: grid;
    gap: 14px;
}
.invoice-form-page .invoice-form-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.invoice-form-page .invoice-form-meta-grid .invoice-form-field-full {
    grid-column: 1 / -1;
}
.invoice-form-page .invoice-line-panel {
    display: grid;
    gap: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 12px;
    background: var(--paper);
}
.invoice-form-page .invoice-line-panel h3 {
    margin: 0;
}
.invoice-form-page .invoice-form-footer-actions {
    display: none;
    gap: 10px;
}
.invoice-form-page .helper {
    margin: 0;
    color: var(--muted-ink);
    font-size: var(--go-font-helper-size);
    line-height: 1.5;
}
body[data-theme-choice="modern"] .invoice-form-page {
    gap: 22px;
}
body[data-theme-choice="modern"] .invoice-form-page .notice {
    background: color-mix(in srgb, var(--go-warning-soft) 56%, var(--go-surface));
    border-color: color-mix(in srgb, var(--go-warning) 18%, var(--go-border));
    color: var(--go-text);
}
body[data-theme-choice="modern"] .invoice-form-page .invoice-form-section {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    padding: 14px;
}
body[data-theme-choice="modern"] .invoice-form-page #invoice-form.stack > .grid, body[data-theme-choice="modern"] .invoice-form-page #invoice-form.stack > label, body[data-theme-choice="modern"] .invoice-form-page .invoice-line-panel {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    padding: 14px;
}
body[data-theme-choice="modern"] .invoice-form-page #invoice-form.stack > h2 {
    margin: 6px 0 0;
    color: var(--go-text);
}
body[data-theme-choice="modern"] .invoice-form-page .helper {
    color: var(--go-muted);
}
@media (max-width: 960px) {
    .invoice-form-page .invoice-form-header {
        flex-direction: column;
        align-items: stretch;
    }
}
@media (max-width: 960px) {
    .invoice-form-page {
        gap: 18px;
    }
    .invoice-form-page .invoice-form-header-actions {
        display: none;
    }
    .invoice-form-page .invoice-form-summary {
        display: grid;
    }
    .invoice-form-page .invoice-form-footer-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .invoice-form-page .invoice-form-footer-actions .go-action-button, .invoice-form-page .invoice-form-footer-actions button {
        width: 100%;
        min-height: 44px;
        justify-content: center;
    }
    .invoice-form-page .invoice-form-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .invoice-form-page .invoice-form-meta-grid .invoice-form-field-full {
        grid-column: 1 / -1;
    }
    .invoice-form-page .invoice-form-section {
        gap: 12px;
    }
    .invoice-form-page .invoice-form-shell .line-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .invoice-form-page .invoice-form-shell .line-grid > label:first-child, .invoice-form-page .invoice-form-shell .line-grid > label:nth-child(2), .invoice-form-page .invoice-form-shell .line-grid > .check-row {
        grid-column: 1 / -1;
    }
}
@media (max-width: 680px) {
    .invoice-form-page .invoice-form-summary {
        grid-template-columns: 1fr;
    }
}


/* Campaign form page migrated from resources/views/ghm-ops/follow-ups/template.blade.php */
.campaign-form-page {
    display: grid;
    gap: 20px;
}

/* Inline style cleanup for active GO web views. */
.profile-page .profile-muted-note {
    margin-top: 8px;
}

.inventory-form-page .inventory-side-panel-title {
    margin-top: 0;
}

.inventory-form-page .inventory-delete-form {
    margin-top: 12px;
}

.expense-form-page .expense-receipt-preview {
    display: none;
    margin-top: 10px;
}

.expense-form-page .expense-receipt-preview-img {
    display: none;
    max-width: 100%;
    max-height: 280px;
    border: 1px solid var(--go-border);
    border-radius: var(--go-radius-md);
}

.expense-form-page .expense-receipt-preview-pdf {
    display: none;
    color: var(--go-muted);
    font-size: 13px;
}

.expense-form-page .expense-receipt-legibility {
    display: none;
    margin-top: 10px;
    padding: 12px;
    border: 1px solid var(--go-border);
    border-radius: var(--go-radius-md);
    background: var(--go-surface-soft);
}

.expense-form-page .expense-receipt-legibility-title {
    margin-bottom: 8px;
    color: var(--go-text-soft);
    font-size: 13px;
    font-weight: 600;
}

.expense-form-page .expense-receipt-legibility-actions {
    display: flex;
    gap: 8px;
}

.expense-form-page .expense-receipt-mini-button,
.expense-form-page .expense-receipt-clear {
    height: 32px;
    padding: 0 12px;
    font-size: 13px;
}

.expense-form-page .expense-receipt-clear {
    margin-top: 8px;
}

.expense-form-page .expense-hand-delivery-note {
    display: none;
    margin-top: 10px;
    padding: 12px;
    border: 1px solid var(--go-warning);
    border-radius: var(--go-radius-md);
    background: var(--go-warning-soft);
    color: var(--go-text-soft);
    font-size: 13px;
}

.expenses-page .expenses-page-actions {
    display: flex;
    gap: 10px;
}

.expenses-page .expense-hand-delivery-status {
    color: var(--go-warning);
    font-size: 12px;
    font-weight: 600;
}

.expenses-page .expense-inline-form {
    display: inline;
}

.expenses-page .expense-row-button {
    cursor: pointer;
}

.expenses-page .expense-row-button.is-approve {
    color: var(--go-primary);
}

.expenses-page .expense-row-button.is-delete {
    color: var(--go-danger);
}

.expense-disclaimer-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(17, 24, 39, 0.55);
}

.expense-disclaimer-card {
    position: relative;
    width: 100%;
    max-width: 440px;
    padding: 24px;
    border-radius: var(--go-radius-lg);
    background: var(--go-surface);
    box-shadow: var(--go-shadow-hover);
}

.expense-disclaimer-close {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--go-muted);
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
}

.expense-disclaimer-title {
    margin: 0 0 12px;
    color: var(--go-text);
    font-size: 16px;
}

.expense-disclaimer-copy {
    margin: 0;
    color: var(--go-text-soft);
    font-size: 14px;
    line-height: 1.6;
}

.expense-disclaimer-copy.is-spaced {
    margin-top: 12px;
}

.expense-disclaimer-ack {
    width: 100%;
    justify-content: center;
    margin-top: 18px;
}

.campaign-form-page .campaign-form-active-check,
.invoice-form-page .invoice-line-tax-check {
    align-self: end;
}

.campaign-form-page .campaign-template-body {
    min-height: 360px;
}
.campaign-form-page .campaign-image-upload {
    display: grid;
    gap: 10px;
}
.campaign-form-page .campaign-image-library-form {
    display: grid;
    gap: 10px;
}
.campaign-form-page .campaign-image-upload p {
    margin: 0;
    color: var(--muted-ink);
    font-size: var(--go-font-helper-size);
    line-height: 1.45;
}
.campaign-form-page .campaign-image-upload code {
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--table-head-bg);
    color: var(--ink);
    padding: 2px 5px;
}
.campaign-form-page .campaign-image-error {
    border: 1px solid color-mix(in srgb, var(--warn) 34%, var(--line));
    border-radius: 8px;
    background: color-mix(in srgb, var(--warn) 10%, var(--paper));
    color: var(--warn);
    font-size: var(--go-font-helper-size);
    line-height: 1.4;
    padding: 8px 10px;
}
.campaign-form-page .campaign-image-current {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.campaign-form-page .campaign-image-current img {
    display: block;
    width: min(220px, 100%);
    height: auto;
    max-height: 120px;
    object-fit: contain;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    padding: 6px;
}
.campaign-form-page .campaign-image-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}
.campaign-form-page .campaign-image-actions .go-action-button {
    min-height: 36px;
}
.campaign-form-page .campaign-image-list {
    display: grid;
    gap: 10px;
    margin-top: 6px;
}
.campaign-form-page .campaign-image-list-item {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding-top: 10px;
    border-top: 1px solid var(--line);
}
.campaign-form-page .campaign-image-list-item img {
    display: block;
    width: 74px;
    height: 54px;
    object-fit: contain;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    padding: 4px;
}
.campaign-form-page .campaign-image-list-item form {
    display: grid;
    gap: 8px;
}
.campaign-form-page .campaign-image-list-item code {
    width: fit-content;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.campaign-form-page .campaign-image-list-item > form:last-child {
    grid-column: 2;
}
.campaign-form-page .campaign-form-mobile-summary {
    display: none;
}
.campaign-form-page .campaign-form-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.campaign-form-page .campaign-form-header-copy h1 {
    margin: 0;
    color: var(--go-text);
}
.campaign-form-page .campaign-form-header-copy p {
    margin: 8px 0 0;
    color: var(--go-muted);
}
.campaign-form-page .campaign-form-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.campaign-form-page .form-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .45fr);
    gap: 16px;
    align-items: start;
}
.campaign-form-page .form-panel {
    display: grid;
    gap: 14px;
}
.campaign-form-page .form-panel h2 {
    margin: 0;
}
.campaign-form-page .form-panel p {
    margin: 0;
    color: var(--muted-ink);
}
.campaign-form-page .campaign-mobile-subsection {
    display: grid;
    gap: 12px;
}
.campaign-form-page .campaign-form-step {
    display: inline-flex;
    align-items: center;
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.campaign-form-page .campaign-form-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    margin-right: 8px;
    border-radius: 999px;
    background: var(--go-primary);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}
.campaign-form-page .campaign-mobile-subsection-head {
    display: none;
}
.campaign-form-page .campaign-mobile-subsection-head strong {
    color: var(--go-text);
    font-size: 15px;
    line-height: 1.35;
}
.campaign-form-page .campaign-mobile-subsection-head span {
    color: var(--go-muted);
    font-size: var(--go-font-helper-size);
    line-height: 1.45;
}
.campaign-form-page .field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.campaign-form-page .field-grid .full {
    grid-column: 1 / -1;
}
.campaign-form-page .placeholder-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.campaign-form-page .placeholder-list code {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--table-head-bg);
    color: var(--ink);
    padding: 4px 7px;
}
.campaign-form-page .check-row {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--ink);
    font-weight: var(--go-font-badge-weight);
}
.campaign-form-page .check-row input {
    width: auto;
    min-height: auto;
}
body[data-theme-choice="modern"] .campaign-form-page {
    gap: 22px;
}
body[data-theme-choice="modern"] .campaign-form-page .form-shell .panel, body[data-theme-choice="modern"] .campaign-form-page .form-shell .form-panel.panel {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
body[data-theme-choice="modern"] .campaign-form-page .form-panel p {
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .campaign-form-page .campaign-image-upload p {
    color: var(--go-muted);
}
body[data-theme-choice="modern"] .campaign-form-page .campaign-image-upload code {
    border-color: var(--go-border);
    background: var(--go-bg);
    color: var(--go-text);
}
body[data-theme-choice="modern"] .campaign-form-page .campaign-image-current img {
    border-color: var(--go-border);
}
body[data-theme-choice="modern"] .campaign-form-page .campaign-image-list-item {
    border-top-color: var(--go-border);
}
body[data-theme-choice="modern"] .campaign-form-page .campaign-image-list-item img {
    border-color: var(--go-border);
}
body[data-theme-choice="modern"] .campaign-form-page .placeholder-list code {
    border-color: var(--go-border);
    background: var(--go-bg);
    color: var(--go-text);
}
body[data-theme-choice="modern"] .campaign-form-page .check-row {
    color: var(--go-text);
}
@media (max-width: 960px) {
    .campaign-form-page .campaign-form-header {
        flex-direction: column;
        align-items: stretch;
    }
    .campaign-form-page .form-shell, .campaign-form-page .field-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 960px) {
    .campaign-form-page {
        gap: 16px;
    }
    .campaign-form-page .campaign-form-header {
        gap: 12px;
    }
    .campaign-form-page .campaign-form-header-copy p {
        margin-top: 6px;
        line-height: 1.5;
    }
    .campaign-form-page .campaign-form-mobile-summary {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .campaign-form-page .campaign-form-mobile-summary-card {
        display: grid;
        gap: 6px;
        min-height: 78px;
        padding: 14px;
        border: 1px solid var(--go-border);
        border-radius: 14px;
        background: var(--go-surface);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    }
    .campaign-form-page .campaign-form-mobile-summary-card span {
        color: var(--go-muted);
        font-size: var(--go-font-label-size);
        font-weight: var(--go-font-label-weight);
    }
    .campaign-form-page .campaign-form-mobile-summary-card strong {
        color: var(--go-text);
        font-size: 16px;
        line-height: 1.35;
    }
    .campaign-form-page .campaign-form-header-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        width: 100%;
    }
    .campaign-form-page .campaign-form-header-actions .go-action-button, .campaign-form-page .campaign-form-header-actions button {
        width: 100%;
        min-height: 44px;
        justify-content: center;
    }
    .campaign-form-page .campaign-image-actions {
        justify-content: stretch;
    }
    .campaign-form-page .campaign-image-actions .go-action-button {
        width: 100%;
        justify-content: center;
    }
    .campaign-form-page .campaign-image-list-item {
        grid-template-columns: 64px minmax(0, 1fr);
    }
    .campaign-form-page .campaign-image-list-item img {
        width: 64px;
        height: 48px;
    }
    .campaign-form-page .form-shell {
        gap: 12px;
    }
    .campaign-form-page .form-panel {
        gap: 12px;
    }
    .campaign-form-page .campaign-form-step {
        color: var(--go-text);
    }
    .campaign-form-page .form-shell .panel, .campaign-form-page .form-shell .form-panel.panel {
        padding: 14px;
        border-radius: 12px;
    }
    .campaign-form-page .campaign-mobile-subsection {
        gap: 10px;
        padding: 14px;
        border: 1px solid var(--go-border);
        border-radius: 12px;
        background: color-mix(in srgb, var(--go-bg) 62%, var(--go-surface));
    }
    .campaign-form-page .campaign-mobile-subsection-head {
        display: grid;
        gap: 3px;
    }
    .campaign-form-page .field-grid {
        gap: 12px;
    }
    .campaign-form-page .field-grid label {
        display: grid;
        gap: 6px;
    }
    .campaign-form-page textarea[name="body"] {
        min-height: 260px !important;
    }
}
@media (max-width: 680px) {
    .campaign-form-page .campaign-form-mobile-summary {
        grid-template-columns: 1fr;
    }
    .campaign-form-page .campaign-form-header-actions {
        grid-template-columns: 1fr;
    }
}


/* Expense form page migrated from resources/views/ghm-ops/expenses/form.blade.php */
.expense-form-page {
    display: grid;
    gap: 20px;
    max-width: 560px;
}
.expense-form-page h1 {
    margin: 0;
    color: var(--go-text);
}
.expense-form-page .expense-form-card {
    background: var(--go-surface);
    border: 1px solid var(--go-border);
    border-radius: var(--go-radius-lg);
    padding: 24px;
    display: grid;
    gap: 16px;
}
.expense-form-page .expense-form-card label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--go-text-soft);
    margin-bottom: 6px;
}
.expense-form-page .expense-form-card input, .expense-form-page .expense-form-card select, .expense-form-page .expense-form-card textarea {
    width: 100%;
    height: var(--go-control-height);
    padding: 0 var(--go-control-padding-x);
    border: 1px solid var(--go-border);
    border-radius: var(--go-radius-md);
    background: var(--go-surface-soft);
    color: var(--go-text);
}
.expense-form-page .expense-form-card .expense-file-input {
    height: auto;
    min-height: var(--go-control-height);
    padding: 6px 8px;
    line-height: 1.2;
}
.expense-form-page .expense-file-input::file-selector-button {
    min-height: 30px;
    margin-right: 10px;
    padding: 0 12px;
    border: 1px solid var(--go-primary);
    border-radius: var(--go-radius-sm);
    background: var(--go-primary);
    color: #fff;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
}
.expense-form-page .expense-file-input:hover::file-selector-button {
    background: var(--go-primary-hover);
    border-color: var(--go-primary-hover);
}
.expense-form-page .expense-form-card textarea {
    height: auto;
    padding: 10px var(--go-control-padding-x);
}
.expense-form-page .expense-form-error {
    color: var(--go-danger);
    font-size: 13px;
    margin-top: 4px;
}
.expense-form-page .expense-form-actions {
    display: flex;
    gap: 12px;
}
.expense-form-page .expense-current-receipt {
    font-size: 13px;
    color: var(--go-muted);
    margin-top: 6px;
}


/* Payment modal partial migrated from resources/views/ghm-ops/invoices/_payment-modal.blade.php */
.payment-modal[hidden] {
    display: none;
}
.payment-modal {
    position: fixed;
    inset: 0;
    z-index: 92;
    padding: 24px;
}
.payment-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.46);
}
.payment-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(980px, calc(100vw - 48px));
    max-height: calc(100vh - 48px);
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid var(--go-border);
    border-radius: 10px;
    background: var(--go-surface);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.18);
    display: grid;
    grid-template-rows: auto 1fr auto;
}
.payment-modal-head,
.payment-modal-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    background: var(--go-surface-soft);
    border-bottom: 1px solid var(--go-border);
}
.payment-modal-foot {
    justify-content: flex-end;
    border-top: 1px solid var(--go-border);
    border-bottom: 0;
}
.payment-modal-head h2 {
    margin: 0;
    font-size: 16px;
    color: var(--go-text);
}
.payment-modal-head p {
    margin: 4px 0 0;
    color: var(--go-muted);
}
.payment-modal-close {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--go-muted);
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}
.payment-modal-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: 18px;
    padding: 18px;
    overflow: auto;
    background: var(--go-bg);
}
.payment-modal-pane {
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
}
.payment-modal-pane h3 {
    margin: 0;
    font-size: 13px;
    color: var(--go-text);
}
.payment-modal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.payment-modal-grid .full {
    grid-column: 1 / -1;
}
.payment-modal-help {
    color: var(--go-muted);
    font-size: 11px;
}
.payment-modal-summary {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
}
.payment-modal-summary strong {
    font-size: 13px;
    color: var(--go-text);
}
.payment-modal-summary-row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}
.payment-modal-address {
    display: grid;
    gap: 8px;
}
.payment-modal-address-item {
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
}
.payment-modal-address-item span {
    color: var(--go-muted);
    font-size: 11px;
}
.payment-modal-address-item strong {
    font-size: 12px;
    font-weight: 500;
    color: var(--go-text);
}
.payment-modal-error {
    display: none;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--go-danger) 24%, var(--go-border));
    border-radius: 8px;
    background: var(--go-danger-soft);
    color: var(--go-danger);
}
.payment-modal-error.is-visible {
    display: block;
}
@media (max-width: 960px) {
    .payment-modal {
        padding: 12px;
    }
    .payment-modal-dialog {
        width: min(100vw - 24px, 980px);
        max-height: calc(100vh - 24px);
    }
    .payment-modal-body,
    .payment-modal-grid {
        grid-template-columns: 1fr;
    }
}


/* Recurring invoice modal partial migrated from resources/views/ghm-ops/invoices/_recurring-modal.blade.php */
.recurring-modal[hidden] {
    display: none;
}
.recurring-modal {
    position: fixed;
    inset: 0;
    z-index: 93;
    display: grid;
    place-items: center;
    padding: 24px;
}
.recurring-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.66);
}
.recurring-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(980px, calc(100vw - 48px));
    max-height: calc(100dvh - 48px);
    overflow: hidden;
    border: 1px solid var(--go-border);
    border-radius: 10px;
    background: var(--go-surface);
    color: var(--go-text);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
    display: flex;
    flex-direction: column;
}
.recurring-modal-head,
.recurring-modal-foot {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    background: var(--go-surface-soft);
    border-bottom: 1px solid var(--go-border);
}
.recurring-modal-foot {
    justify-content: space-between;
    border-top: 1px solid var(--go-border);
    border-bottom: 0;
}
.recurring-modal-foot-actions {
    display: flex;
    gap: 10px;
    margin-left: auto;
    align-items: center;
}
#recurring-modal-form {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}
.recurring-modal-head h2 {
    margin: 0;
    font-size: 16px;
    color: var(--go-text);
}
.recurring-modal-head p {
    margin: 4px 0 0;
    color: var(--go-muted);
}
.recurring-modal-close {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--go-muted);
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}
.recurring-modal-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
    gap: 18px;
    padding: 18px;
    background: var(--go-bg);
}
.recurring-modal-pane {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
}
.recurring-modal-pane h3 {
    margin: 0;
    font-size: 13px;
    color: var(--go-text);
}
.recurring-modal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.recurring-modal-grid label,
.recurring-modal-grid input,
.recurring-modal-grid select {
    min-width: 0;
    width: 100%;
}
.recurring-modal-grid .full {
    grid-column: 1 / -1;
}
.recurring-modal-error {
    display: none;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--go-danger) 24%, var(--go-border));
    border-radius: 8px;
    background: var(--go-danger-soft);
    color: var(--go-danger);
}
.recurring-modal-error.is-visible {
    display: block;
}
.recurring-modal-summary {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
}
.recurring-modal-summary-row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}
.recurring-modal-summary-row strong {
    font-size: 13px;
    text-align: right;
    color: var(--go-text);
}
.recurring-modal-help {
    color: var(--go-muted);
    font-size: 11px;
}
.recurring-modal-note {
    padding: 10px 12px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    color: var(--go-muted);
    box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
    font-size: 12px;
}
.recurring-modal-stop[hidden],
.recurring-modal-dynamic[hidden] {
    display: none;
}

body[data-theme-choice="modern"][data-theme-mode="light"] .ticket-index-summary .metric,
body[data-theme-choice="modern"][data-theme-mode="light"] .invoice-index-summary .metric,
body[data-theme-choice="modern"][data-theme-mode="light"] .expense-index-summary .metric,
body[data-theme-choice="modern"][data-theme-mode="light"] .dashboard-attention-card,
body[data-theme-choice="modern"][data-theme-mode="light"] .dashboard-kpis .metric,
body[data-theme-choice="modern"][data-theme-mode="light"] .campaign-overview-grid .metric,
body[data-theme-choice="modern"][data-theme-mode="light"] .campaign-mobile-summary-card {
    background: var(--go-surface) !important;
}
body[data-theme-choice="modern"][data-theme-mode="light"] .ticket-index-summary .metric:nth-child(1),
body[data-theme-choice="modern"][data-theme-mode="light"] .invoice-index-summary .metric:nth-child(1),
body[data-theme-choice="modern"][data-theme-mode="light"] .expense-index-summary .metric:nth-child(3),
body[data-theme-choice="modern"][data-theme-mode="light"] .dashboard-attention-card.is-warning,
body[data-theme-choice="modern"][data-theme-mode="light"] .dashboard-page .dashboard-kpis .dashboard-kpi-open,
body[data-theme-choice="modern"][data-theme-mode="light"] .campaign-mobile-summary-card.is-warning {
    border-color: color-mix(in srgb, var(--go-warning) 42%, var(--go-border)) !important;
}
body[data-theme-choice="modern"][data-theme-mode="light"] .ticket-index-summary .metric:nth-child(2),
body[data-theme-choice="modern"][data-theme-mode="light"] .invoice-index-summary .metric:nth-child(3),
body[data-theme-choice="modern"][data-theme-mode="light"] .expense-index-summary .metric:nth-child(2),
body[data-theme-choice="modern"][data-theme-mode="light"] .dashboard-attention-card.is-success,
body[data-theme-choice="modern"][data-theme-mode="light"] .dashboard-page .dashboard-kpis .dashboard-kpi-paid,
body[data-theme-choice="modern"][data-theme-mode="light"] .campaign-mobile-summary-card.is-sent {
    border-color: color-mix(in srgb, var(--go-success) 42%, var(--go-border)) !important;
}
body[data-theme-choice="modern"][data-theme-mode="light"] .ticket-index-summary .metric:nth-child(3),
body[data-theme-choice="modern"][data-theme-mode="light"] .invoice-index-summary .metric:nth-child(2),
body[data-theme-choice="modern"][data-theme-mode="light"] .expense-index-summary .metric:nth-child(1),
body[data-theme-choice="modern"][data-theme-mode="light"] .dashboard-attention-card.is-open,
body[data-theme-choice="modern"][data-theme-mode="light"] .campaign-mobile-summary-card.is-primary,
body[data-theme-choice="modern"][data-theme-mode="light"] .campaign-overview-grid .metric.is-campaign-active {
    border-color: color-mix(in srgb, var(--go-primary) 42%, var(--go-border)) !important;
}
body[data-theme-choice="modern"][data-theme-mode="light"] .invoice-index-summary .metric:nth-child(4),
body[data-theme-choice="modern"][data-theme-mode="light"] .expense-index-summary .metric:nth-child(4),
body[data-theme-choice="modern"][data-theme-mode="light"] .dashboard-attention-card.is-danger,
body[data-theme-choice="modern"][data-theme-mode="light"] .dashboard-page .dashboard-kpis .dashboard-kpi-due,
body[data-theme-choice="modern"][data-theme-mode="light"] .campaign-mobile-summary-card.is-danger,
body[data-theme-choice="modern"][data-theme-mode="light"] .campaign-overview-grid .metric.has-campaign-failures {
    border-color: color-mix(in srgb, var(--go-danger) 44%, var(--go-border)) !important;
}
body[data-theme-choice="modern"][data-theme-mode="light"] .campaign-overview-grid .metric.is-campaign-inactive {
    border-color: color-mix(in srgb, var(--go-muted) 28%, var(--go-border)) !important;
}

body[data-theme-mode="dark"] {
    --go-row-hover: color-mix(in srgb, var(--go-surface) 75%, var(--go-border) 25%);
    --go-surface-soft: color-mix(in srgb, var(--go-surface) 78%, var(--go-border) 22%);
    --go-success-soft: #163823;
    --go-danger-soft: #3A1D22;
    --go-warning-soft: #3B2F16;
    --go-info-soft: #172B4D;
}
body[data-theme-mode="dark"] .mobile-more-sheet {
    background: color-mix(in srgb, var(--go-surface) 80%, white 20%);
}
body[data-theme-mode="dark"] tbody tr:hover td,
body[data-theme-mode="dark"] .clients-table-shell tbody tr:hover td,
body[data-theme-mode="dark"] .ticket-table-shell tbody tr:hover td,
body[data-theme-mode="dark"] .invoice-table-shell tbody tr:hover td,
body[data-theme-mode="dark"] .dashboard-table-shell tbody tr:hover td,
body[data-theme-mode="dark"] .report-table-wrap tbody tr:hover td,
body[data-theme-mode="dark"] .campaign-queue-body tbody tr:hover td,
body[data-theme-mode="dark"] .campaign-show-page tbody tr:hover td,
body[data-theme-mode="dark"] .ticket-lines-section tbody tr:hover td,
body[data-theme-mode="dark"] .invoice-show-page tbody tr:hover td,
body[data-theme-mode="dark"] .expenses-table tr:hover td {
    background: var(--go-row-hover);
}
body[data-theme-mode="dark"] .client-mobile-row:hover,
body[data-theme-mode="dark"] .ticket-mobile-card:hover,
body[data-theme-mode="dark"] .invoice-mobile-card:hover,
body[data-theme-mode="dark"] .inventory-mobile-card:hover,
body[data-theme-mode="dark"] .client-communication-card:hover,
body[data-theme-mode="dark"] .dashboard-attention-card:hover {
    background: var(--go-row-hover);
}
body[data-theme-mode="dark"] .client-show-header-copy p,
body[data-theme-mode="dark"] .client-mobile-display-name {
    color: #ffffff;
}
body[data-theme-mode="dark"] .metric,
body[data-theme-mode="dark"] .panel,
body[data-theme-mode="dark"] [class$="-filter-card"],
body[data-theme-mode="dark"] [class$="-table-shell"] .table-wrap,
body[data-theme-mode="dark"] .report-table-wrap.table-wrap,
body[data-theme-mode="dark"] .campaign-queue-body .table-wrap {
    background: color-mix(in srgb, var(--go-surface) 92%, var(--go-bg));
    border-color: var(--go-border);
}
body[data-theme-mode="dark"] .ticket-index-summary .metric,
body[data-theme-mode="dark"] .invoice-index-summary .metric,
body[data-theme-mode="dark"] .expense-index-summary .metric,
body[data-theme-mode="dark"] .dashboard-attention-card,
body[data-theme-mode="dark"] .dashboard-kpis .metric,
body[data-theme-mode="dark"] .report-summary-blocks .metric,
body[data-theme-mode="dark"] .search-summary .metric,
body[data-theme-mode="dark"] .invoice-show-summary .metric,
body[data-theme-mode="dark"] .ticket-show-summary-grid .metric,
body[data-theme-mode="dark"] .campaign-show-summary .metric,
body[data-theme-mode="dark"] .profile-summary .metric,
body[data-theme-mode="dark"] .campaign-overview-grid .metric {
    background: color-mix(in srgb, var(--go-surface) 94%, var(--go-bg)) !important;
    border-color: var(--go-border) !important;
}
body[data-theme-mode="dark"] .ticket-index-summary .metric:nth-child(1),
body[data-theme-mode="dark"] .invoice-index-summary .metric:nth-child(1),
body[data-theme-mode="dark"] .expense-index-summary .metric:nth-child(3),
body[data-theme-mode="dark"] .dashboard-attention-card.is-warning {
    border-color: color-mix(in srgb, var(--go-warning) 42%, var(--go-border)) !important;
}
body[data-theme-mode="dark"] .ticket-index-summary .metric:nth-child(2),
body[data-theme-mode="dark"] .invoice-index-summary .metric:nth-child(3),
body[data-theme-mode="dark"] .expense-index-summary .metric:nth-child(2),
body[data-theme-mode="dark"] .dashboard-attention-card.is-success,
body[data-theme-mode="dark"] .dashboard-kpis .dashboard-kpi-paid {
    border-color: color-mix(in srgb, var(--go-success) 42%, var(--go-border)) !important;
}
body[data-theme-mode="dark"] .ticket-index-summary .metric:nth-child(3),
body[data-theme-mode="dark"] .invoice-index-summary .metric:nth-child(2),
body[data-theme-mode="dark"] .expense-index-summary .metric:nth-child(1),
body[data-theme-mode="dark"] .dashboard-attention-card.is-open,
body[data-theme-mode="dark"] .dashboard-kpis .dashboard-kpi-open {
    border-color: color-mix(in srgb, var(--go-primary) 42%, var(--go-border)) !important;
}
body[data-theme-mode="dark"] .invoice-index-summary .metric:nth-child(4),
body[data-theme-mode="dark"] .expense-index-summary .metric:nth-child(4),
body[data-theme-mode="dark"] .dashboard-attention-card.is-danger,
body[data-theme-mode="dark"] .dashboard-kpis .dashboard-kpi-due {
    border-color: color-mix(in srgb, var(--go-danger) 44%, var(--go-border)) !important;
}

/* Dashboard compact typography: Attention and Business Snapshot are intentionally 25% smaller. */
.dashboard-section-attention .dashboard-section-heading h2,
.dashboard-mobile-order-kpis .dashboard-section-heading h2,
.dashboard-mobile-section-head h2 { font-size: 17px !important; }
.dashboard-section-attention .dashboard-attention-label,
.dashboard-mobile-order-kpis .dashboard-kpis .metric-label,
.dashboard-mobile-attention-card span,
.dashboard-mobile-kpi-card span { font-size: 9px !important; }
.dashboard-section-attention .dashboard-attention-card strong,
.dashboard-mobile-order-kpis .dashboard-kpis .metric strong { font-size: 18px !important; }
.dashboard-section-attention .dashboard-attention-card strong.dashboard-attention-datetime { font-size: 16px !important; }
.dashboard-section-attention .dashboard-attention-note { font-size: 10px !important; }
@media (max-width: 820px) {
    .dashboard-mobile-attention-card strong,
    .dashboard-mobile-kpi-card strong { font-size: 13px !important; }
    .dashboard-mobile-attention-card strong.dashboard-attention-datetime { font-size: 11px !important; }
}
body[data-theme-mode="dark"] .go-status-pill {
    min-height: 24px;
    border-radius: 7px;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .02em;
}
body[data-theme-mode="dark"] .go-status-pill.is-good,
body[data-theme-mode="dark"] .go-status-pill.is-success,
body[data-theme-mode="dark"] .go-status-pill.is-paid,
body[data-theme-mode="dark"] .go-status-pill.is-resolved {
    border-color: color-mix(in srgb, var(--go-success) 54%, var(--go-border));
    background: color-mix(in srgb, var(--go-success-soft) 72%, var(--go-surface));
    color: #86EFAC;
}
body[data-theme-mode="dark"] .go-status-pill.is-warning,
body[data-theme-mode="dark"] .go-status-pill.is-partial {
    border-color: color-mix(in srgb, var(--go-warning) 54%, var(--go-border));
    background: color-mix(in srgb, var(--go-warning-soft) 72%, var(--go-surface));
    color: #FBBF24;
}
body[data-theme-mode="dark"] .go-status-pill.is-due,
body[data-theme-mode="dark"] .go-status-pill.is-failed,
body[data-theme-mode="dark"] .go-status-pill.is-bad-debt,
body[data-theme-mode="dark"] .go-status-pill.is-danger {
    border-color: color-mix(in srgb, var(--go-danger) 54%, var(--go-border));
    background: color-mix(in srgb, var(--go-danger-soft) 72%, var(--go-surface));
    color: #FDA4AF;
}
body[data-theme-mode="dark"] .go-status-pill.is-primary,
body[data-theme-mode="dark"] .go-status-pill.is-invoiced,
body[data-theme-mode="dark"] .go-status-pill.is-on,
body[data-theme-mode="dark"] .go-status-pill.is-open {
    border-color: color-mix(in srgb, var(--go-primary) 54%, var(--go-border));
    background: color-mix(in srgb, var(--go-primary-soft) 72%, var(--go-surface));
    color: #A7F3D0;
}
body[data-theme-mode="dark"] .go-status-pill.is-neutral,
body[data-theme-mode="dark"] .go-status-pill.is-off {
    border-color: var(--go-border);
    background: color-mix(in srgb, var(--go-surface-soft) 72%, var(--go-surface));
    color: var(--go-muted);
}
body.go-app-body :is(
    .app-back-link,
    .app-back-action-link,
    .badge,
    .button-chip,
    .client-back-link,
    .desktop-add-menu-panel a,
    .desktop-global-search [data-global-search-input],
    .go-action-button,
    .go-status-pill,
    .helper,
    .metric-label,
    .mobile-got-you-copy strong,
    .mobile-got-you-copy small,
    .mobile-more-account strong,
    .mobile-more-account span,
    .mobile-more-action,
    .mobile-more-company strong,
    .mobile-more-company span,
    .mobile-more-link,
    .mobile-nav-link,
    .mobile-nav-more,
    .side-nav a,
    .side-footer button,
    table th,
    table th a,
    table th button,
    table th span
) {
    font-weight: 400;
}
@media (max-width: 960px) {
    .recurring-modal {
        align-items: end;
        padding: 10px;
    }
    .recurring-modal-dialog {
        width: 100%;
        max-height: calc(100dvh - 20px);
        border-radius: 12px;
    }
    .recurring-modal-body {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 14px;
    }
    .recurring-modal-grid {
        grid-template-columns: 1fr;
    }
    .recurring-modal-head,
    .recurring-modal-foot {
        padding: 14px;
    }
    .recurring-modal-foot {
        align-items: stretch;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .recurring-modal-foot-actions {
        justify-content: end;
    }
    .ticket-form-page .ticket-lines-amount-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .ticket-form-page .ticket-lines-editor, .ticket-form-page .ticket-lines-current {
        min-height: 0;
        height: auto;
    }
}
@media (max-width: 520px) {
    .recurring-modal {
        align-items: stretch;
        padding: 0;
    }
    .recurring-modal-dialog {
        width: 100%;
        max-height: 100dvh;
        min-height: 100dvh;
        border-right: 0;
        border-left: 0;
        border-radius: 0;
    }
    .recurring-modal-head {
        align-items: flex-start;
    }
    .recurring-modal-foot {
        grid-template-columns: 1fr;
    }
    .recurring-modal-foot > div,
    .recurring-modal-foot-actions,
    .recurring-modal-foot .go-action-button {
        width: 100%;
    }
    .recurring-modal-foot-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 960px) {
    body.go-app-body :is(
        .client-show-header-actions,
        .client-form-page .client-form-footer-actions,
        .invoice-mobile-actions,
        .invoice-mobile-action-strip,
        .invoice-mobile-payment-actions,
        .invoice-mobile-payment-receipt-actions,
        .invoice-show-header-actions,
        .invoice-show-panel-actions,
        .invoice-show-form-actions,
        .invoice-form-page .invoice-form-footer-actions,
        .ticket-show-header-actions,
        .ticket-mobile-actions-grid,
        .ticket-form-page .form-footer-actions,
        .ticket-form-page .ticket-line-toolbar-actions,
        .ticket-form-page .ticket-lines-editor-actions,
        .inventory-form-page .inventory-form-header-actions,
        .campaign-form-page .campaign-form-header-actions,
        .campaign-mobile-queue-actions
    ) {
        display: flex;
        align-items: center;
        justify-content: center;
        justify-items: center;
        gap: 8px;
        width: 100%;
        flex-wrap: nowrap;
    }
    body.go-app-body :is(
        .client-show-header-actions,
        .client-form-page .client-form-footer-actions,
        .invoice-mobile-actions,
        .invoice-mobile-action-strip,
        .invoice-mobile-payment-actions,
        .invoice-mobile-payment-receipt-actions,
        .invoice-show-header-actions,
        .invoice-show-panel-actions,
        .invoice-show-form-actions,
        .invoice-form-page .invoice-form-footer-actions,
        .ticket-show-header-actions,
        .ticket-mobile-actions-grid,
        .ticket-form-page .form-footer-actions,
        .ticket-form-page .ticket-line-toolbar-actions,
        .ticket-form-page .ticket-lines-editor-actions,
        .inventory-form-page .inventory-form-header-actions,
        .campaign-form-page .campaign-form-header-actions,
        .campaign-mobile-queue-actions
    ) > form {
        display: inline-flex;
        flex: 0 0 auto;
        margin: 0;
    }
    body.go-app-body :is(
        .client-show-header-actions,
        .client-form-page .client-form-footer-actions,
        .invoice-mobile-actions,
        .invoice-mobile-payment-actions,
        .invoice-mobile-payment-receipt-actions,
        .invoice-show-header-actions,
        .invoice-show-panel-actions,
        .invoice-show-form-actions,
        .invoice-form-page .invoice-form-footer-actions,
        .ticket-show-header-actions,
        .ticket-mobile-actions-grid,
        .ticket-form-page .form-footer-actions,
        .ticket-form-page .ticket-line-toolbar-actions,
        .ticket-form-page .ticket-lines-editor-actions,
        .inventory-form-page .inventory-form-header-actions,
        .campaign-form-page .campaign-form-header-actions,
        .campaign-mobile-queue-actions
    ) :is(.go-action-button, button, .legacy-action-button, .legacy-action-menu, .legacy-action-menu summary),
    body.go-app-body .invoice-mobile-action-strip :is(.invoice-mobile-action, button) {
        flex: 0 0 auto;
        width: auto;
        min-width: 88px;
        max-width: 100%;
        min-height: 38px;
        justify-content: center;
        padding-inline: 12px;
        white-space: nowrap;
    }
}

@media (max-width: 680px) {
    body.go-app-body :is(
        .client-show-header-actions,
        .client-form-page .client-form-footer-actions,
        .invoice-mobile-actions,
        .invoice-mobile-action-strip,
        .invoice-mobile-payment-actions,
        .invoice-mobile-payment-receipt-actions,
        .invoice-show-header-actions,
        .invoice-show-panel-actions,
        .invoice-show-form-actions,
        .invoice-form-page .invoice-form-footer-actions,
        .ticket-show-header-actions,
        .ticket-mobile-actions-grid,
        .ticket-form-page .form-footer-actions,
        .ticket-form-page .ticket-line-toolbar-actions,
        .ticket-form-page .ticket-lines-editor-actions,
        .inventory-form-page .inventory-form-header-actions,
        .campaign-form-page .campaign-form-header-actions,
        .campaign-mobile-queue-actions
    ) {
        gap: 6px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
    }
    body.go-app-body :is(
        .client-show-header-actions,
        .client-form-page .client-form-footer-actions,
        .invoice-mobile-actions,
        .invoice-mobile-payment-actions,
        .invoice-mobile-payment-receipt-actions,
        .invoice-show-header-actions,
        .invoice-show-panel-actions,
        .invoice-show-form-actions,
        .invoice-form-page .invoice-form-footer-actions,
        .ticket-show-header-actions,
        .ticket-mobile-actions-grid,
        .ticket-form-page .form-footer-actions,
        .ticket-form-page .ticket-line-toolbar-actions,
        .ticket-form-page .ticket-lines-editor-actions,
        .inventory-form-page .inventory-form-header-actions,
        .campaign-form-page .campaign-form-header-actions,
        .campaign-mobile-queue-actions
    )::-webkit-scrollbar {
        display: none;
    }
    body.go-app-body :is(
        .client-show-header-actions,
        .client-form-page .client-form-footer-actions,
        .invoice-mobile-actions,
        .invoice-mobile-payment-actions,
        .invoice-mobile-payment-receipt-actions,
        .invoice-show-header-actions,
        .invoice-show-panel-actions,
        .invoice-show-form-actions,
        .invoice-form-page .invoice-form-footer-actions,
        .ticket-show-header-actions,
        .ticket-mobile-actions-grid,
        .ticket-form-page .form-footer-actions,
        .ticket-form-page .ticket-line-toolbar-actions,
        .ticket-form-page .ticket-lines-editor-actions,
        .inventory-form-page .inventory-form-header-actions,
        .campaign-form-page .campaign-form-header-actions,
        .campaign-mobile-queue-actions
    ) :is(.go-action-button, button, .legacy-action-button, .legacy-action-menu, .legacy-action-menu summary),
    body.go-app-body .invoice-mobile-action-strip :is(.invoice-mobile-action, button) {
        min-width: 76px;
        min-height: 36px;
        padding-inline: 9px;
        font-size: 12px;
    }
}


@media (min-width: 961px) {
    body.go-app-body .app-main .table-wrap > table {
        width: 100%;
        table-layout: fixed;
    }

    body.go-app-body .app-main .table-wrap :is(th, td) {
        vertical-align: middle !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.go-app-body .app-main .table-wrap td :is(a, span, div, p, small, strong, em) {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.go-app-body .app-main .table-wrap td small {
        display: inline;
        margin-left: 6px;
    }

    body.go-app-body .app-main .table-wrap td :is(
        .client-name-cell,
        .client-contact-cell,
        .inventory-item-cell,
        .ticket-cell-main
    ) {
        display: inline;
    }

    body.go-app-body .app-main .table-wrap td :is(
        .client-subtitle,
        .inventory-item-description
    ) {
        display: inline;
        margin-left: 6px;
    }

    body.go-app-body .app-main .table-wrap :is(th, td):is(.money, .numeric, .is-right, .inventory-money),
    body.go-app-body .app-main .table-wrap td:is(
        [data-label="Amount"],
        [data-label="Approved"],
        [data-label="Balance"],
        [data-label="Cost"],
        [data-label="Delta"],
        [data-label="Expenses"],
        [data-label="GST"],
        [data-label="GST Base"],
        [data-label="GO Invoices"],
        [data-label="GO Stored Tax"],
        [data-label="Imported Exempt"],
        [data-label="Imported Taxable"],
        [data-label="Imported Tax Collected"],
        [data-label="Invoices"],
        [data-label="Paid"],
        [data-label="Pending"],
        [data-label="Price"],
        [data-label="PST"],
        [data-label="PST Base"],
        [data-label="Qty"],
        [data-label="Stored Tax"],
        [data-label="Subtotal"],
        [data-label="Tax"],
        [data-label="Tax Owed"],
        [data-label="Taxable Sales"],
        [data-label="Total"],
        [data-label="Unit"]
    ) {
        text-align: right !important;
        font-variant-numeric: tabular-nums;
    }

    body.go-app-body .app-main .dashboard-table-shell .table-wrap :is(th, td).dashboard-top-paying-invoices {
        text-align: center !important;
    }

    body.go-app-body .app-main .table-wrap :is(th, td):is(.status-col, .inventory-cell-center, .table-action-cell),
    body.go-app-body .app-main .table-wrap td:is(
        [data-label="Action"],
        [data-label="Actions"],
        [data-label="Priority"],
        [data-label="Receipt"],
        [data-label="Resolved"],
        [data-label="Status"],
        [data-label="Stock"],
        [data-label="Tags"]
    ),
    body.go-app-body .app-main .table-wrap :is(.campaign-status-cell, .client-tags-cell, .client-count-cell) {
        text-align: center !important;
    }

    body.go-app-body .app-main .table-wrap :is(.knowledge-row-actions, .expense-row-actions) {
        display: flex;
        align-items: center;
        justify-content: center !important;
        gap: 6px;
        flex-wrap: nowrap !important;
    }

    body.go-app-body .app-main .table-wrap :is(.table-action-cell, .knowledge-row-actions, .expense-row-actions, .client-actions-cell) :is(form, a, button) {
        display: inline-flex;
        flex: 0 0 auto;
        margin-inline: 3px;
        vertical-align: middle;
        white-space: nowrap;
    }

    body.go-app-body .clients-table-shell .clients-call-sheet {
        table-layout: fixed;
    }

    body.go-app-body .clients-table-shell .clients-call-name { width: auto; }
    body.go-app-body .clients-table-shell .clients-call-contact { width: 138px; }
    body.go-app-body .clients-table-shell .clients-call-city { width: 112px; }
    body.go-app-body .clients-table-shell .clients-call-campaign { width: 76px; }
    body.go-app-body .clients-table-shell .clients-call-tags { width: 68px; }
    body.go-app-body .clients-table-shell .clients-call-count { width: 58px; }

    body.go-app-body .clients-table-shell .clients-call-sheet :is(th, td) {
        height: 42px;
        padding: 7px 12px !important;
        vertical-align: middle !important;
    }

    body.go-app-body .clients-table-shell .clients-call-sheet :is(th, td):nth-child(4),
    body.go-app-body .clients-table-shell .clients-call-sheet :is(th, td):nth-child(5),
    body.go-app-body .clients-table-shell .clients-call-sheet :is(th, td):nth-child(6),
    body.go-app-body .clients-table-shell .clients-call-sheet :is(th, td):nth-child(7) {
        padding-inline: 4px !important;
        text-align: center !important;
    }

    body.go-app-body .clients-table-shell .clients-call-sheet :is(th, td):nth-child(6),
    body.go-app-body .clients-table-shell .clients-call-sheet :is(th, td):nth-child(7) {
        font-variant-numeric: tabular-nums;
    }

    body.go-app-body .clients-table-shell .clients-call-sheet .client-name-cell,
    body.go-app-body .clients-table-shell .clients-call-sheet .client-contact-cell {
        display: block !important;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.go-app-body .clients-table-shell .clients-call-sheet .client-name-cell a,
    body.go-app-body .clients-table-shell .clients-call-sheet .client-subtitle,
    body.go-app-body .clients-table-shell .clients-call-sheet .client-contact-primary {
        display: inline !important;
        max-width: none;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        line-height: 1.2;
    }

    body.go-app-body .clients-table-shell .clients-call-sheet .client-city-cell {
        display: table-cell !important;
        max-width: none;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        line-height: 1.2;
    }

    body.go-app-body .clients-table-shell .clients-call-sheet .client-subtitle {
        margin-left: 8px;
    }

    body.go-app-body .clients-table-shell .clients-call-sheet .client-row-action {
        min-width: 0;
        min-height: 28px;
        padding-inline: 8px;
        font-size: 10px;
    }

    body.go-app-body .clients-table-shell .clients-call-sheet .client-row-action-form {
        margin: 0;
    }

    body.go-app-body .clients-table-shell .clients-call-sheet .go-status-pill,
    body.go-app-body .clients-table-shell .clients-call-sheet .campaign-tag-icon {
        transform: scale(.88);
        transform-origin: center;
    }

    body.go-app-body .inventory-table-shell .inventory-call-sheet {
        table-layout: fixed;
    }

    body.go-app-body .inventory-table-shell .inventory-call-item { width: 38%; }
    body.go-app-body .inventory-table-shell .inventory-call-category { width: 11%; }
    body.go-app-body .inventory-table-shell .inventory-call-upc { width: 7%; }
    body.go-app-body .inventory-table-shell .inventory-call-money { width: 8%; }
    body.go-app-body .inventory-table-shell .inventory-call-small { width: 6%; }
    body.go-app-body .inventory-table-shell .inventory-call-status { width: 10%; }

    body.go-app-body .inventory-table-shell .inventory-call-sheet :is(th, td) {
        height: 42px;
        padding: 7px 12px !important;
        vertical-align: middle !important;
    }

    body.go-app-body .inventory-table-shell .inventory-call-sheet .inventory-item-cell {
        display: block !important;
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.go-app-body .inventory-table-shell .inventory-call-sheet .inventory-item-name,
    body.go-app-body .inventory-table-shell .inventory-call-sheet .inventory-item-description {
        display: inline !important;
        max-width: none;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        line-height: 1.2;
    }

    body.go-app-body .inventory-table-shell .inventory-call-sheet .inventory-item-description {
        margin-left: 8px;
    }

    body.go-app-body .inventory-table-shell .inventory-call-sheet .inventory-list-text {
        font-size: 11px;
        line-height: 1.2;
    }

    body.go-app-body .invoice-table-shell .invoice-call-sheet {
        table-layout: fixed;
    }

    body.go-app-body .invoice-table-shell .invoice-call-number { width: 86px; }
    body.go-app-body .invoice-table-shell .invoice-call-client { width: 26%; }
    body.go-app-body .invoice-table-shell .invoice-call-items { width: auto; }
    body.go-app-body .invoice-table-shell .invoice-call-status { width: 74px; }
    body.go-app-body .invoice-table-shell .invoice-call-paid { width: 54px; }
    body.go-app-body .invoice-table-shell .invoice-call-date { width: 84px; }
    body.go-app-body .invoice-table-shell .invoice-call-money { width: 86px; }

    body.go-app-body .invoice-table-shell .invoice-call-sheet :is(th, td) {
        height: 42px;
        padding: 7px 8px !important;
        vertical-align: middle !important;
    }

    body.go-app-body .invoice-table-shell .invoice-call-sheet :is(th, td):nth-child(4),
    body.go-app-body .invoice-table-shell .invoice-call-sheet :is(th, td):nth-child(5),
    body.go-app-body .invoice-table-shell .invoice-call-sheet :is(th, td):nth-child(6),
    body.go-app-body .invoice-table-shell .invoice-call-sheet :is(th, td):nth-child(7) {
        padding-inline: 4px !important;
        text-align: center !important;
    }

    body.go-app-body .invoice-table-shell .invoice-call-sheet :is(th, td):nth-child(8),
    body.go-app-body .invoice-table-shell .invoice-call-sheet :is(th, td):nth-child(9) {
        padding-inline: 6px !important;
        text-align: right !important;
    }

    body.go-app-body .invoice-table-shell .invoice-call-sheet td[data-label="Invoice"] a,
    body.go-app-body .invoice-table-shell .invoice-call-sheet td[data-label="Client"] a,
    body.go-app-body .invoice-table-shell .invoice-call-sheet .invoice-items-cell {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.go-app-body .invoice-table-shell .invoice-call-sheet .invoice-payment-state,
    body.go-app-body .invoice-table-shell .invoice-call-sheet .go-status-pill {
        margin-inline: auto;
        transform: scale(.88);
        transform-origin: center;
    }

    body.go-app-body .invoice-table-shell .invoice-call-sheet .invoice-balance,
    body.go-app-body .invoice-table-shell .invoice-call-sheet .invoice-total {
        font-variant-numeric: tabular-nums;
    }

    body.go-app-body .knowledge-table-shell .reminders-call-sheet {
        table-layout: fixed;
    }

    body.go-app-body .knowledge-table-shell .reminders-call-due { width: 126px; }
    body.go-app-body .knowledge-table-shell .reminders-call-title { width: auto; }
    body.go-app-body .knowledge-table-shell .reminders-call-category { width: 104px; }
    body.go-app-body .knowledge-table-shell .reminders-call-client { width: 22%; }
    body.go-app-body .knowledge-table-shell .reminders-call-repeat { width: 82px; }
    body.go-app-body .knowledge-table-shell .reminders-call-status { width: 78px; }
    body.go-app-body .knowledge-table-shell .reminders-call-action { width: 68px; }

    body.go-app-body .knowledge-table-shell .reminders-call-sheet :is(th, td) {
        height: 42px;
        padding: 7px 8px !important;
        vertical-align: middle !important;
    }

    body.go-app-body .knowledge-table-shell .reminders-call-sheet td {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.go-app-body .knowledge-table-shell .reminders-call-sheet td small {
        display: inline;
        margin-left: 6px;
        overflow: hidden;
        color: var(--go-muted);
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.go-app-body .knowledge-table-shell .reminders-call-sheet td a {
        display: inline;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.go-app-body .knowledge-table-shell .reminders-call-sheet :is(th, td):nth-child(5),
    body.go-app-body .knowledge-table-shell .reminders-call-sheet :is(th, td):nth-child(6),
    body.go-app-body .knowledge-table-shell .reminders-call-sheet :is(th, td):nth-child(7) {
        padding-inline: 4px !important;
        text-align: center !important;
    }

    body.go-app-body .knowledge-table-shell .reminders-call-sheet .go-status-pill,
    body.go-app-body .knowledge-table-shell .reminders-call-sheet .go-action-button {
        margin-inline: auto;
        transform: scale(.88);
        transform-origin: center;
    }
}

.inbox-page {
    display: grid;
    gap: 18px;
}

.inbox-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.inbox-page-header h1 {
    margin: 0;
}

.inbox-page-header p {
    margin: 6px 0 0;
    color: var(--go-muted);
}

.inbox-empty-panel {
    display: grid;
    gap: 10px;
    max-width: 680px;
}

.inbox-empty-panel p {
    margin: 0;
    color: var(--go-muted);
}

.inbox-empty-panel.is-error {
    border-color: color-mix(in srgb, var(--go-danger, #D92D20) 38%, var(--go-border));
}

.inbox-table-shell {
    position: relative;
}

.inbox-table-count {
    position: absolute;
    right: 12px;
    top: -30px;
    color: var(--go-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .03em;
}

.inbox-call-sheet {
    table-layout: fixed;
}

.inbox-call-received { width: 124px; }
.inbox-call-from { width: 22%; }
.inbox-call-subject { width: 24%; }
.inbox-call-client { width: 18%; }
.inbox-call-preview { width: auto; }
.inbox-call-action { width: 76px; }

.inbox-call-sheet :is(th, td) {
    height: 42px;
    padding: 7px 10px;
    vertical-align: middle;
}

.inbox-call-sheet td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inbox-call-sheet td:nth-child(6),
.inbox-call-sheet th:nth-child(6) {
    text-align: center;
}

.inbox-call-sheet .go-action-button {
    margin-inline: auto;
    transform: scale(.88);
    transform-origin: center;
}

.inbox-call-sheet a,
.inbox-from-name,
.inbox-call-sheet small {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inbox-call-sheet small {
    margin-top: 2px;
    color: var(--go-muted);
    font-size: 11px;
}

.inbox-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: 18px;
    align-items: start;
}

.inbox-message-panel,
.inbox-action-panel {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.inbox-message-meta {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--go-border);
}

.inbox-message-meta div {
    min-width: 0;
}

.inbox-message-meta span {
    display: block;
    margin-bottom: 4px;
    color: var(--go-muted);
    font-size: 12px;
}

.inbox-message-meta strong,
.inbox-message-meta a {
    display: block;
    overflow: hidden;
    color: var(--go-text);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inbox-message-body {
    max-width: 100%;
    min-width: 0;
    color: var(--go-text);
    font-size: 14px;
    line-height: 1.55;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.inbox-action-card {
    display: grid;
    gap: 12px;
}

.inbox-action-card h2 {
    margin: 0;
    font-size: 15px;
}

.inbox-action-card form {
    display: grid;
    gap: 10px;
}

.inbox-action-card label {
    display: grid;
    gap: 5px;
    color: var(--go-muted);
    font-size: 12px;
}

.inbox-action-card input,
.inbox-action-card textarea {
    width: 100%;
    border: 1px solid var(--go-border);
    border-radius: var(--go-radius-sm);
    background: var(--go-surface);
    color: var(--go-text);
    font: inherit;
    padding: 9px 10px;
}

.inbox-appointment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

@media (max-width: 960px) {
    .inbox-page-header {
        align-items: stretch;
        flex-direction: column;
    }

    .inbox-table-shell .table-wrap {
        overflow-x: auto;
    }

    .inbox-call-sheet {
        min-width: 900px !important;
    }

    .inbox-detail-grid,
    .inbox-message-meta {
        grid-template-columns: 1fr;
    }

    .inbox-message-body {
        max-width: none;
    }
}


/* Legacy guest layout migrated from resources/views/layouts/guest.blade.php */
html.go-legacy-guest-html {
    --green-dark: #3F6F63;
    --green-mid: #6E9F8F;
    --green-soft: #A8CDBB;
    --green-bg: #CFE3D7;
    --ink: #1d2d2a;
    --line: #d8e5de;
    --paper: #ffffff;
}

html.go-legacy-guest-html * { box-sizing: border-box; }
body.go-legacy-guest-body {
    min-height: 100vh;
    margin: 0;
    color: var(--ink);
    background: #f6faf8;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    line-height: 1.45;
}
body.go-legacy-guest-body .guest-wrap {
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr;
}
body.go-legacy-guest-body .guest-top {
    border-bottom: 1px solid var(--line);
    background: var(--green-bg);
}
body.go-legacy-guest-body .guest-top-inner, body.go-legacy-guest-body .guest-main {
    width: min(520px, calc(100% - 32px));
    margin: 0 auto;
}
body.go-legacy-guest-body .guest-top-inner {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 22px 0;
    color: var(--green-dark);
    font-weight: 700;
}
body.go-legacy-guest-body .guest-main {
    display: grid;
    align-content: center;
    padding: 42px 0 58px;
}
body.go-legacy-guest-body .auth-panel {
    width: 100%;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 26px;
}
body.go-legacy-guest-body .go-mark {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: var(--green-dark);
    color: white;
    font-weight: 800;
    letter-spacing: 0;
}
body.go-legacy-guest-body a { color: var(--green-dark); font-weight: 700; text-decoration: none; }
body.go-legacy-guest-body label { display: block; margin-bottom: 6px; color: var(--green-dark); font-weight: 700; }
body.go-legacy-guest-body input {
    width: 100%;
    min-height: 40px;
    border: 1px solid #b8cbc2;
    border-radius: 8px;
    padding: 8px 10px;
    color: var(--ink);
    background: white;
    font: inherit;
}
body.go-legacy-guest-body input:focus {
    outline: 2px solid var(--green-soft);
    outline-offset: 1px;
}
body.go-legacy-guest-body button, body.go-legacy-guest-body .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    border: 1px solid var(--green-dark);
    border-radius: 8px;
    background: var(--green-dark);
    color: white;
    padding: 8px 14px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
body.go-legacy-guest-body .mt-4 { margin-top: 16px; }
body.go-legacy-guest-body .mb-4 { margin-bottom: 16px; }
body.go-legacy-guest-body .block { display: block; }
body.go-legacy-guest-body .inline-flex { display: inline-flex; }
body.go-legacy-guest-body .items-center { align-items: center; }
body.go-legacy-guest-body .justify-end { justify-content: flex-end; }
body.go-legacy-guest-body .ms-2 { margin-left: 8px; }
body.go-legacy-guest-body .ms-3 { margin-left: 12px; }
body.go-legacy-guest-body .text-sm { font-size: 14px; }
body.go-legacy-guest-body .text-gray-600, body.go-legacy-guest-body .text-gray-700, body.go-legacy-guest-body .text-gray-900 { color: var(--ink); }
body.go-legacy-guest-body .underline { text-decoration: underline; }
body.go-legacy-guest-body .rounded-md { border-radius: 8px; }
body.go-legacy-guest-body .shadow-sm { box-shadow: none; }
body.go-legacy-guest-body .border-gray-300 { border-color: #b8cbc2; }
body.go-legacy-guest-body .focus\:ring-indigo-500:focus, body.go-legacy-guest-body .focus\:border-indigo-500:focus {
    outline: 2px solid var(--green-soft);
    outline-offset: 1px;
}


/* Legacy app layout migrated from resources/views/layouts/app.blade.php */
html.go-legacy-app-html {
    --green-dark: #3F6F63;
    --green-mid: #6E9F8F;
    --green-soft: #A8CDBB;
    --green-bg: #CFE3D7;
    --ink: #1d2d2a;
    --line: #d8e5de;
    --paper: #ffffff;
}

html.go-legacy-app-html * { box-sizing: border-box; }
body.go-legacy-app-body {
    margin: 0;
    color: var(--ink);
    background: #f6faf8;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    line-height: 1.45;
}
body.go-legacy-app-body a { color: var(--green-dark); font-weight: 700; text-decoration: none; }
body.go-legacy-app-body header {
    background: var(--green-bg);
    border-bottom: 1px solid var(--line);
}
body.go-legacy-app-body .topbar, body.go-legacy-app-body main {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}
body.go-legacy-app-body .topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 0;
}
body.go-legacy-app-body .brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--green-dark);
    font-weight: 700;
}
body.go-legacy-app-body .go-mark {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: var(--green-dark);
    color: white;
    font-weight: 800;
    letter-spacing: 0;
}
body.go-legacy-app-body nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
body.go-legacy-app-body nav a, body.go-legacy-app-body button, body.go-legacy-app-body .button {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    border: 1px solid var(--green-mid);
    border-radius: 8px;
    background: var(--paper);
    color: var(--green-dark);
    padding: 8px 12px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
body.go-legacy-app-body button, body.go-legacy-app-body .button.primary {
    background: var(--green-dark);
    color: white;
}
body.go-legacy-app-body main { padding: 26px 0 56px; }
body.go-legacy-app-body h1, body.go-legacy-app-body h2, body.go-legacy-app-body h3 { color: var(--green-dark); }
body.go-legacy-app-body h1 { margin: 0 0 18px; font-size: 28px; }
body.go-legacy-app-body .panel {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 18px;
}
body.go-legacy-app-body label { display: block; margin-bottom: 6px; color: var(--green-dark); font-weight: 700; }
body.go-legacy-app-body input, body.go-legacy-app-body select, body.go-legacy-app-body textarea {
    width: 100%;
    min-height: 38px;
    border: 1px solid #b8cbc2;
    border-radius: 8px;
    padding: 8px 10px;
    color: var(--ink);
    background: white;
    font: inherit;
}
body.go-legacy-app-body input:focus, body.go-legacy-app-body select:focus, body.go-legacy-app-body textarea:focus {
    outline: 2px solid var(--green-soft);
    outline-offset: 1px;
}
body.go-legacy-app-body .font-semibold { font-weight: 700; }
body.go-legacy-app-body .text-xl { font-size: 20px; }
body.go-legacy-app-body .leading-tight { line-height: 1.2; }
body.go-legacy-app-body .max-w-7xl, body.go-legacy-app-body .max-w-xl { max-width: 1180px; margin-left: auto; margin-right: auto; }
body.go-legacy-app-body .mx-auto { margin-left: auto; margin-right: auto; }
body.go-legacy-app-body .py-12 { padding-top: 28px; padding-bottom: 28px; }
body.go-legacy-app-body .sm\:px-6, body.go-legacy-app-body .lg\:px-8, body.go-legacy-app-body .px-4 { padding-left: 0; padding-right: 0; }
body.go-legacy-app-body .bg-white { background: var(--paper); }
body.go-legacy-app-body .overflow-hidden { overflow: hidden; }
body.go-legacy-app-body .shadow-sm { box-shadow: none; }
body.go-legacy-app-body .sm\:rounded-lg { border-radius: 8px; }
body.go-legacy-app-body .p-4, body.go-legacy-app-body .p-6 { padding: 18px; }
body.go-legacy-app-body .mb-4 { margin-bottom: 16px; }
body.go-legacy-app-body .mt-4, body.go-legacy-app-body .mt-6 { margin-top: 16px; }
body.go-legacy-app-body .space-y-6 > * + * { margin-top: 18px; }
body.go-legacy-app-body .legacy-topbar-header { padding-bottom: 0; }
@media (max-width: 760px) {
    body.go-legacy-app-body .topbar { align-items: flex-start; flex-direction: column; }
}

/* Compact mobile call sheets. Keep list pages as one-row records; details live on detail pages. */
.ticket-mobile-call-row,
.invoice-mobile-call-row {
    align-items: center;
    min-height: 42px;
    padding: 8px;
    border-radius: 9px;
    gap: 6px;
}

.ticket-mobile-call-row {
    grid-template-columns: minmax(66px, .72fr) minmax(0, 1.35fr) minmax(58px, .62fr) auto auto;
}

.ticket-mobile-number,
.ticket-mobile-call-row .ticket-mobile-client,
.ticket-mobile-service,
.ticket-mobile-call-row .ticket-priority-pill,
.ticket-mobile-call-row .go-status-pill,
.invoice-mobile-call-main,
.invoice-mobile-call-main strong,
.invoice-mobile-call-main span,
.invoice-mobile-call-date,
.invoice-mobile-call-money,
.invoice-mobile-call-row .go-status-pill {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ticket-mobile-number {
    color: var(--go-primary);
    font-size: 12px;
    font-weight: 800;
}

.ticket-mobile-call-row .ticket-mobile-client {
    color: var(--go-text);
    font-size: 12px;
    font-weight: 700;
}

.ticket-mobile-service {
    color: var(--go-muted);
    font-size: 11px;
}

.ticket-mobile-call-row .ticket-priority-pill,
.ticket-mobile-call-row .go-status-pill {
    justify-self: end;
    min-height: 24px;
    padding: 4px 7px;
    font-size: 9px;
    line-height: 1;
}

.invoice-mobile-call-row {
    grid-template-columns: minmax(0, 1.2fr) minmax(64px, .56fr) auto minmax(60px, .58fr);
    color: var(--go-text);
    text-decoration: none;
}

.invoice-mobile-call-main {
    display: block;
    line-height: 1.2;
}

.invoice-mobile-call-main strong,
.invoice-mobile-call-main span {
    display: inline;
    line-height: 1.2;
}

.invoice-mobile-call-main strong {
    color: var(--go-primary);
    font-size: 12px;
    font-weight: 800;
}

.invoice-mobile-call-main span {
    margin-left: 5px;
    color: var(--go-muted);
    font-size: 11px;
}

.invoice-mobile-call-date {
    color: var(--go-muted);
    font-size: 10px;
}

.invoice-mobile-call-money {
    color: var(--go-text);
    font-size: 11px;
    font-weight: 800;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.invoice-mobile-call-money.is-balance {
    color: var(--go-danger);
}

.invoice-mobile-call-row .go-status-pill {
    justify-self: end;
    min-height: 24px;
    padding: 4px 7px;
    font-size: 9px;
    line-height: 1;
}

@media (max-width: 420px) {
    .client-mobile-call-row {
        grid-template-columns: minmax(0, 1fr) 20ch;
    }

    .ticket-mobile-call-row {
        grid-template-columns: minmax(60px, .65fr) minmax(0, 1.18fr) minmax(48px, .52fr) auto auto;
    }

    .invoice-mobile-call-row {
        grid-template-columns: minmax(0, 1.05fr) minmax(56px, .5fr) auto minmax(52px, .52fr);
    }

    .inventory-mobile-call-row {
        grid-template-columns: minmax(0, 1.25fr) minmax(54px, .55fr) minmax(56px, .56fr) auto;
    }

    .client-mobile-name-link strong,
    .client-mobile-phone,
    .ticket-mobile-number,
    .ticket-mobile-call-row .ticket-mobile-client,
    .invoice-mobile-call-main strong,
    .inventory-mobile-call-main strong {
        font-size: 11px;
    }

    .client-mobile-name-link span,
    .client-mobile-city,
    .ticket-mobile-service,
    .invoice-mobile-call-main span,
    .invoice-mobile-call-date,
    .inventory-mobile-call-main span,
    .inventory-mobile-call-category {
        font-size: 10px;
    }

    .client-mobile-action-form .client-row-action,
    .ticket-mobile-call-row .ticket-priority-pill,
    .ticket-mobile-call-row .go-status-pill,
    .invoice-mobile-call-row .go-status-pill,
    .inventory-mobile-call-row .inventory-list-text {
        font-size: 8px;
    }
}

@media (max-width: 960px) {
    .knowledge-table-shell .reminders-call-wrap {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
    }

    .knowledge-table-shell .reminders-call-wrap > .reminders-call-sheet {
        display: table;
        width: 100%;
        min-width: 760px;
        table-layout: fixed;
        border: 1px solid var(--go-border);
        background: var(--go-surface);
    }

    .knowledge-table-shell .reminders-call-wrap thead {
        display: table-header-group;
    }

    .knowledge-table-shell .reminders-call-wrap tbody {
        display: table-row-group;
    }

    .knowledge-table-shell .reminders-call-wrap tr {
        display: table-row;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .knowledge-table-shell .reminders-call-wrap th,
    .knowledge-table-shell .reminders-call-wrap td {
        display: table-cell;
        width: auto;
        height: 40px;
        padding: 7px 8px;
        border-bottom: 1px solid var(--go-border);
        text-align: left;
        vertical-align: middle;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .knowledge-table-shell .reminders-call-wrap td::before {
        content: none;
    }

    .knowledge-table-shell .reminders-call-wrap td > :is(.badge, a, span, div, form) {
        margin-left: 0;
    }

    .knowledge-table-shell .reminders-call-wrap :is(th, td):nth-child(5),
    .knowledge-table-shell .reminders-call-wrap :is(th, td):nth-child(6),
    .knowledge-table-shell .reminders-call-wrap :is(th, td):nth-child(7) {
        text-align: center;
    }

    .knowledge-table-shell .reminders-call-wrap .go-status-pill,
    .knowledge-table-shell .reminders-call-wrap .go-action-button {
        margin-inline: auto;
    }
}

/* Appointment calendar and workflow */
.appointments-page {
    --appointment-slot-min-height: 72px;
}

.appointment-header-actions,
.appointments-header .appointment-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.appointment-header-actions form {
    margin: 0;
}

.appointments-view-toolbar {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    margin-bottom: 14px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-bg);
}

.appointments-view-tab {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 12px;
    border-radius: 6px;
    color: var(--go-muted);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.appointments-view-tab.is-active {
    background: var(--go-primary);
    color: #fff;
}

.appointments-filter-card .filter-toolbar {
    margin-bottom: 0;
}

[data-booking-block-time].is-muted {
    opacity: .55;
}

.appointments-calendar-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.appointments-calendar-date {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-right: auto;
    min-width: 0;
}

.appointments-calendar-nav strong {
    color: var(--go-text);
    font-size: 17px;
}

.appointments-table-shell .appointments-call-sheet {
    table-layout: fixed;
}

.appointments-table-shell {
    display: grid;
    gap: 8px;
}

.appointment-table-count {
    justify-self: end;
    margin: 0 12px -2px 0;
    padding: 4px 9px;
    border-radius: 6px;
    background: color-mix(in srgb, var(--go-bg) 72%, var(--go-surface));
    color: var(--go-muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.15;
    text-transform: uppercase;
}

.appointments-table-shell .appointments-call-sheet th,
.appointments-table-shell .appointments-call-sheet td {
    height: 42px;
    padding: 7px 10px;
    vertical-align: middle;
}

.appointments-table-shell .appointments-call-sheet td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.appointments-table-shell .appointments-call-sheet td small {
    display: inline;
    margin-left: 6px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.appointments-day-calendar,
.appointments-month-calendar {
    border: 1px solid var(--go-border);
    border-radius: 10px;
    overflow: hidden;
    background: var(--go-surface);
}

.appointments-day-calendar {
    position: relative;
}

.appointments-day-grid {
    display: grid;
    grid-template-columns: 64px repeat(var(--appointment-day-count), minmax(0, 1fr));
}

.appointments-day-head {
    background: var(--go-table-head-bg);
    border-bottom: 1px solid var(--go-border);
}

.appointments-time-head,
.appointments-day-title,
.appointments-hour-label,
.appointments-slot {
    position: relative;
    border-right: 1px solid var(--go-border);
}

.appointments-current-time {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 1;
    border-top: 1px solid var(--go-primary);
    pointer-events: none;
}
.appointments-current-time::before {
    content: "";
    position: absolute;
    left: 0;
    top: -3px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--go-primary);
}

.appointments-day-title {
    display: grid;
    gap: 2px;
    padding: 10px;
    min-height: 54px;
}

.appointments-day-title span,
.appointments-hour-label {
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.appointments-day-title strong {
    color: var(--go-text);
    font-size: 13px;
}

.appointments-hour-row {
    border-bottom: 1px solid var(--go-border);
}

.appointments-hour-label {
    padding: 10px 8px;
    background: var(--go-bg);
    text-align: right;
}

.appointments-slot {
    display: grid;
    align-content: start;
    gap: 5px;
    min-height: var(--appointment-slot-min-height);
    padding: 6px;
    color: var(--go-text);
    text-decoration: none;
}

.appointments-slot:hover,
.appointments-month-day:hover {
    background: color-mix(in srgb, var(--go-primary-soft) 42%, transparent);
}

.appointments-slot-empty {
    min-height: 100%;
}

.appointments-weekday-label {
    display: inline-block;
    justify-self: start;
    padding: 2px 6px;
    border: 0.5px solid transparent;
}

.appointments-weekday-label.is-booking-day {
    border-color: color-mix(in srgb, var(--go-primary) 75%, transparent);
}

.appointments-event,
.appointments-month-event {
    display: grid;
    gap: 2px;
    min-width: 0;
    border: 1px solid color-mix(in srgb, var(--go-primary) 38%, var(--go-border));
    border-left: 4px solid var(--go-primary);
    border-radius: 7px;
    background: color-mix(in srgb, var(--go-primary-soft) 70%, var(--go-surface));
    padding: 6px 8px;
    color: var(--go-text);
    cursor: pointer;
}

.appointments-event strong,
.appointments-event small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.appointments-event strong {
    font-size: 12px;
}
.appointments-event[data-booking-drag] {
    cursor: grab;
}
.appointments-event.is-dragging {
    opacity: .5;
}
.appointments-slot.is-drop-target {
    outline: 2px solid var(--go-primary);
    outline-offset: -2px;
}
.appointments-move-feedback {
    margin: 0 0 12px;
    color: var(--go-danger);
}

.appointments-event small {
    color: var(--go-muted);
    font-size: 11px;
}

.appointments-event.is-danger,
.appointments-month-event.is-danger {
    border-color: color-mix(in srgb, var(--go-danger) 34%, var(--go-border));
    border-left-color: var(--go-danger);
}

.appointments-event.is-success,
.appointments-month-event.is-success {
    opacity: .78;
}

.appointments-block-event {
    border-color: color-mix(in srgb, var(--go-muted) 34%, var(--go-border));
    border-left-color: var(--go-muted);
    background: repeating-linear-gradient(
        135deg,
        color-mix(in srgb, var(--go-bg) 82%, var(--go-surface)) 0,
        color-mix(in srgb, var(--go-bg) 82%, var(--go-surface)) 8px,
        color-mix(in srgb, var(--go-muted) 9%, var(--go-surface)) 8px,
        color-mix(in srgb, var(--go-muted) 9%, var(--go-surface)) 16px
    );
}

.appointments-block-event small,
.appointments-block-event strong {
    color: var(--go-muted);
}

.appointments-month-calendar {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.appointments-month-weekday {
    padding: 9px 10px;
    border-right: 1px solid var(--go-border);
    border-bottom: 1px solid var(--go-border);
    background: var(--go-table-head-bg);
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.appointments-month-day {
    display: grid;
    align-content: start;
    gap: 6px;
    min-height: 118px;
    padding: 8px;
    border-right: 1px solid var(--go-border);
    border-bottom: 1px solid var(--go-border);
    color: var(--go-text);
    text-decoration: none;
}

.appointments-month-day.is-muted {
    background: color-mix(in srgb, var(--go-bg) 70%, var(--go-surface));
    color: var(--go-muted);
}

.appointments-month-day.is-today > strong {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: var(--go-primary);
    color: #fff;
}

.appointments-month-events {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.appointments-month-event {
    display: block;
    padding: 4px 6px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11px;
}

.appointments-month-more {
    color: var(--go-muted);
    font-size: 11px;
    font-weight: 700;
}

.appointment-client-field {
    position: relative;
}

.client-search-picker {
    position: relative;
}

.client-search-picker-results {
    position: absolute;
    z-index: 60;
    top: calc(100% - 20px);
    left: 0;
    right: 0;
    max-height: 332px;
    overflow-y: auto;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    box-shadow: var(--go-shadow);
}

.client-search-picker-option {
    display: grid;
    gap: 2px;
    width: 100%;
    min-height: 48px;
    border: 0;
    border-bottom: 1px solid var(--go-border);
    border-radius: 0;
    background: transparent;
    color: var(--go-text);
    padding: 9px 12px;
    text-align: left;
    cursor: pointer;
}

.client-search-picker-option:hover,
.client-search-picker-option.is-active {
    background: var(--go-primary-soft);
}

.client-search-picker-option span,
.client-search-picker-empty {
    color: var(--go-muted);
    font-size: 12px;
}

.client-search-picker-empty {
    padding: 12px;
}

.appointment-client-results {
    position: absolute;
    z-index: 60;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    max-height: 290px;
    overflow: auto;
    border: 1px solid var(--go-border);
    border-radius: 8px;
    background: var(--go-surface);
    box-shadow: var(--go-shadow);
}

.appointment-client-option {
    display: grid;
    gap: 2px;
    width: 100%;
    min-height: 48px;
    padding: 8px 10px;
    border: 0;
    border-bottom: 1px solid var(--go-border);
    background: transparent;
    color: var(--go-text);
    text-align: left;
    cursor: pointer;
}

.appointment-client-option:hover,
.appointment-client-option.is-active {
    background: var(--go-primary-soft);
}

.appointment-client-option span,
.appointment-client-empty {
    color: var(--go-muted);
    font-size: 12px;
}

.appointment-client-empty {
    padding: 12px;
}

/* Search and autocomplete result controls must never inherit the global
   button-centering treatment. Keep every result's content anchored left. */
.desktop-global-search-results,
.desktop-global-search-section-label,
.desktop-global-search-empty,
.clients-search-results,
.client-search-picker-results,
.appointment-client-results,
.ticket-form-page .ticket-lines-search-results,
.clients-search-empty,
.client-search-picker-empty,
.appointment-client-empty,
.ticket-form-page .ticket-lines-search-empty {
    text-align: left;
}

.clients-search-option,
.client-search-picker-option,
.appointment-client-option,
.ticket-form-page .ticket-lines-search-option {
    justify-content: start;
    justify-items: stretch;
    align-items: start;
    text-align: left;
}

.clients-search-option > *,
.client-search-picker-option > *,
.appointment-client-option > *,
.ticket-form-page .ticket-lines-search-option > * {
    justify-self: stretch;
    text-align: left;
}

.appointment-detail-strip {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    border: 1px solid var(--go-border);
    border-radius: 10px;
    background: var(--go-surface);
    overflow: hidden;
}

.appointment-detail-strip > div {
    display: grid;
    gap: 8px;
    min-width: 0;
    padding: 14px 16px;
    border-right: 1px solid var(--go-border);
}

.appointment-detail-strip > div:last-child {
    border-right: 0;
}

.appointment-detail-strip span {
    color: var(--go-muted);
    font-size: 12px;
}

.appointment-detail-strip strong,
.appointment-detail-strip a {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--go-text);
}

.appointment-show-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(260px, .7fr);
    gap: 16px;
    align-items: start;
}

.appointment-client-review {
    margin: 16px 0;
}

.appointment-client-review-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.appointment-client-review-heading h2,
.appointment-client-review-option h3 {
    margin: 0 0 6px;
}

.appointment-client-review-heading p,
.appointment-client-review-option p {
    margin: 0;
}

.appointment-client-review-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.appointment-client-review-option {
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--go-border);
    border-radius: 10px;
}

.appointment-client-review-option form {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.appointment-client-review-option label {
    display: grid;
    gap: 5px;
}

.appointment-client-review-error {
    margin: 0 0 14px;
}

@media (max-width: 900px) {
    .appointment-client-review-grid {
        grid-template-columns: 1fr;
    }
}

.appointment-show-panel h2 {
    margin: 0 0 8px;
    color: var(--go-muted);
    font-size: 12px;
    text-transform: uppercase;
}

.appointment-show-panel h2:not(:first-child) {
    margin-top: 18px;
}

.appointment-show-panel p {
    margin: 0;
    line-height: 1.55;
}

.appointment-show-panel .appointment-confirmation-sent {
    margin-top: 10px;
}

.appointment-summary-line {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: baseline;
    gap: 8px;
}

.appointment-summary-line + .appointment-summary-line {
    margin-top: 12px;
}

.appointment-summary-line h2,
.appointment-summary-line h2:not(:first-child) {
    margin: 0;
}

@media (max-width: 960px) {
    .appointment-header-actions,
    .appointments-calendar-nav {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .appointment-header-actions .go-action-button,
    .appointment-header-actions button,
    .appointment-header-actions form,
    .appointments-calendar-nav .go-action-button {
        width: 100%;
        justify-content: center;
    }

    .appointments-calendar-date {
        grid-column: 1 / -1;
        margin: 0;
    }

    .appointments-calendar-nav strong {
        text-align: center;
    }

    .appointments-view-toolbar {
        width: 100%;
        overflow-x: auto;
    }

    .appointments-view-tab {
        flex: 1 0 auto;
    }

    .appointments-day-calendar {
        overflow-x: auto;
    }

    .appointments-day-grid {
        min-width: calc(72px + (180px * var(--appointment-day-count)));
        grid-template-columns: 72px repeat(var(--appointment-day-count), minmax(180px, 1fr));
    }

    .appointments-month-calendar {
        overflow-x: auto;
        grid-template-columns: repeat(7, minmax(132px, 1fr));
    }

    .appointment-detail-strip,
    .appointment-show-grid {
        grid-template-columns: 1fr;
    }

    .appointment-detail-strip > div {
        border-right: 0;
        border-bottom: 1px solid var(--go-border);
    }

    .appointment-detail-strip > div:last-child {
        border-bottom: 0;
    }
}
@media (max-width: 720px) {
    .appointments-calendar-date {
        gap: 10px;
    }
}

/* Campaign activation safety controls */
.campaign-header-controls {
    display: flex;
    align-items: end;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.campaign-header-controls form {
    margin: 0;
}

.campaign-activation-review {
    margin: 16px 0 0;
    border: 1px solid var(--go-border);
    border-radius: 10px;
    background: var(--go-surface);
}

.campaign-activation-review > summary {
    padding: 12px 16px;
    color: var(--go-text);
    font-weight: 700;
    cursor: pointer;
}

.campaign-activation-review-body {
    padding: 0 16px 16px;
    border-top: 1px solid var(--go-border);
}

.campaign-activation-review-heading {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 16px 0;
}

.campaign-activation-review-heading div {
    display: grid;
    gap: 4px;
}

.campaign-activation-review-heading span:not(.go-status-pill),
.campaign-activation-grid dt {
    color: var(--go-muted);
}

.campaign-activation-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.campaign-activation-grid > div {
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border: 1px solid var(--go-border);
    border-radius: 8px;
}

.campaign-activation-grid dt {
    font-size: 12px;
}

.campaign-activation-grid dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.campaign-activation-actions {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: end;
    padding-top: 16px;
}

.campaign-activation-actions form {
    display: flex;
    gap: 12px;
    align-items: center;
    margin: 0;
}

.campaign-activation-confirm {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    max-width: 390px;
}

.campaign-activation-confirm input {
    margin-top: 3px;
}

@media (max-width: 760px) {
    .campaign-header-controls,
    .campaign-activation-actions,
    .campaign-activation-actions form {
        align-items: stretch;
        flex-direction: column;
    }

    .campaign-activation-grid {
        grid-template-columns: 1fr;
    }
}

/* Invoice queues use content-sized columns, independent of All Invoices' fixed call sheet. */
.invoice-queue-table-shell {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.invoice-queue-table-shell .table-wrap {
    overflow-x: auto;
}

.invoice-queue-table-shell .invoice-queue-table {
    width: max-content;
    min-width: 100%;
    table-layout: auto;
}

.invoice-queue-table :is(th, td) {
    width: auto;
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
}

@media (max-width: 680px) {
    .invoice-queue-table-shell .table-wrap {
        overflow-x: visible;
    }

    .invoice-queue-table-shell .invoice-queue-table {
        width: 100%;
        min-width: 0;
    }

    .invoice-queue-table td {
        white-space: normal;
        overflow-wrap: anywhere;
    }
}
