:root {
    --bg: #f7f8fb;
    --ink: #171717;
    --muted: #667085;
    --line: #e4e7ec;
    --panel: #ffffff;
    --yellow: #ffdc33;
    --blue: #2563eb;
    --green: #16a34a;
    --red: #dc2626;
    --gray: #6b7280;
    --shadow: 0 18px 40px rgba(15, 23, 42, .08);
}

* { box-sizing: border-box; }
body {
    margin: 0;
    min-height: 100vh;
    color: var(--ink);
    background: var(--bg);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.app-shell { display: flex; }
.sidebar {
    position: sticky;
    top: 0;
    width: 245px;
    min-height: 100vh;
    padding: 20px;
    color: white;
    background: #101010;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.brand { display: flex; align-items: center; gap: 12px; font-weight: 800; font-size: 20px; }
.brand img {
    width: 58px;
    height: 66px;
    object-fit: contain;
    filter: drop-shadow(0 10px 18px rgba(255, 220, 51, .16));
}
.sidebar nav { display: grid; gap: 6px; }
.sidebar nav a, .link-button {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    border: 0;
    border-radius: 8px;
    padding: 11px 12px;
    color: #f5f5f5;
    background: transparent;
    text-align: left;
    cursor: pointer;
}
.sidebar nav a svg,
.sidebar nav a [data-lucide],
.link-button svg,
.link-button [data-lucide] {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    color: var(--yellow) !important;
    stroke: var(--yellow) !important;
    fill: none;
    stroke-width: 2.4;
}
.sidebar nav a:hover, .link-button:hover { background: rgba(255, 220, 51, .12); color: var(--yellow); }
.sidebar-user {
    display: grid;
    gap: 4px;
    margin-top: auto;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 8px;
    background: rgba(255, 255, 255, .06);
}
.sidebar-user span {
    color: var(--yellow);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.sidebar-user strong {
    overflow: hidden;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.main-content { width: 100%; padding: 28px; }
.topbar {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    margin-bottom: 24px;
}
.eyebrow { margin: 0 0 4px; color: var(--muted); font-size: 13px; text-transform: uppercase; font-weight: 800; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 0; font-size: 32px; }
h2 { font-size: 24px; }
h3 { font-size: 17px; }
.grid { display: grid; gap: 16px; }
.grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.panel, .metric, .card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: var(--shadow);
}
.panel { padding: 20px; }
.metric { padding: 18px; }
.metric span { display: block; color: var(--muted); font-size: 13px; font-weight: 700; }
.metric strong { display: block; margin-top: 8px; font-size: 28px; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.panel-heading {
    justify-content: space-between;
    align-items: flex-start;
}
.primary-action, .secondary-action, .danger-action, .ghost-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    border-radius: 8px;
    padding: 10px 14px;
    border: 1px solid transparent;
    font-weight: 800;
    cursor: pointer;
}
.primary-action svg,
.secondary-action svg,
.danger-action svg,
.ghost-action svg,
.primary-action [data-lucide],
.secondary-action [data-lucide],
.danger-action [data-lucide],
.ghost-action [data-lucide] {
    width: 19px;
    height: 19px;
    flex: 0 0 auto;
    stroke-width: 2.4;
}
.primary-action { background: var(--yellow); color: #171717; }
.secondary-action { background: #111827; color: white; }
.danger-action { background: var(--red); color: white; }
.ghost-action { border-color: var(--line); background: white; color: var(--ink); }
.ghost-action.disabled {
    opacity: .45;
    cursor: not-allowed;
}
.primary-action.compact, .ghost-action.compact {
    min-width: 42px;
    width: auto;
    padding-inline: 12px;
}
.pagination {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    margin-top: 16px;
}
.pagination p { margin: 0; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.form-row { display: grid; gap: 6px; }
.form-row.full { grid-column: 1 / -1; }
.date-filter-bar {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(170px, .72fr) minmax(170px, .72fr) auto;
    gap: 14px;
    align-items: end;
}
.date-filter-actions {
    flex-wrap: nowrap;
    align-self: end;
    min-width: max-content;
}
.date-filter-actions .primary-action,
.date-filter-actions .secondary-action,
.date-filter-actions .ghost-action {
    min-height: 56px;
    padding-inline: 18px;
    white-space: nowrap;
}
label { color: #344054; font-size: 13px; font-weight: 800; }
input, select, textarea {
    width: 100%;
    border: 1px solid #cfd4dc;
    border-radius: 8px;
    min-height: 42px;
    padding: 10px 12px;
    background: white;
}
.premium-checkbox {
    align-self: end;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    font-weight: 800;
}
.premium-checkbox input {
    width: auto;
    min-height: auto;
}
textarea { min-height: 96px; resize: vertical; }
.alert { margin-bottom: 18px; border-radius: 8px; padding: 13px 14px; font-weight: 700; }
.alert.success { background: #dcfce7; color: #166534; }
.alert.warning { background: #fef3c7; color: #92400e; }
.alert.danger { background: #fee2e2; color: #991b1b; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; background: white; }
table { width: 100%; border-collapse: collapse; min-width: 760px; }
th, td { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { color: var(--muted); font-size: 12px; text-transform: uppercase; }
.badge { display: inline-flex; border-radius: 999px; padding: 5px 9px; font-size: 12px; font-weight: 900; }
.badge.blue { background: #dbeafe; color: #1d4ed8; }
.badge.yellow { background: #fef3c7; color: #92400e; }
.badge.green { background: #dcfce7; color: #166534; }
.badge.gray { background: #f3f4f6; color: #374151; }
.stars {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #eab308;
    font-size: 32px;
    line-height: 1;
    white-space: nowrap;
}
.star {
    display: inline-block;
    filter: drop-shadow(0 7px 12px rgba(234, 179, 8, .24));
}
.star.filled { color: #f2b705; }
.star.empty { color: #f0b90b; opacity: .92; }
.muted { color: var(--muted); }
.customer-detail-grid {
    grid-template-columns: minmax(420px, 1fr) minmax(420px, 1fr);
}
.customer-profile-card,
.customer-reward-card {
    min-height: 452px;
    padding: 26px;
}
.customer-card-header {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 34px;
}
.customer-card-header h2 { margin-bottom: 22px; font-size: 28px; }
.customer-card-header .muted { font-size: 19px; }
.customer-meta-grid { row-gap: 28px; margin-bottom: 24px; }
.customer-meta-grid dt { margin-bottom: 6px; font-size: 18px; }
.customer-meta-grid dd { margin: 0; font-size: 19px; }
.customer-actions {
    gap: 12px;
    margin-top: 18px;
}
.customer-actions .primary-action,
.customer-actions .secondary-action,
.customer-actions .ghost-action {
    min-height: 54px;
    padding: 14px 18px;
    font-size: 18px;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .08);
}
.customer-reward-card {
    position: relative;
    overflow: hidden;
}
.customer-reward-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 5px;
    background: linear-gradient(90deg, var(--yellow), #111827);
}
.customer-reward-card h2 {
    margin-bottom: 30px;
    font-size: 30px;
}
.reward-stars {
    margin: 4px 0 22px;
    font-size: 52px;
    gap: 14px;
}
.reward-progress {
    width: min(520px, 100%);
    height: 12px;
    margin: 0 0 20px;
    overflow: hidden;
    border-radius: 999px;
    background: #eef2f7;
}
.reward-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #ffdc33, #f59e0b);
    box-shadow: 0 10px 24px rgba(245, 158, 11, .32);
}
.reward-count {
    margin-bottom: 20px;
    font-size: 22px;
}
.reward-status { font-size: 20px; }
.wash-layout {
    display: grid;
    grid-template-columns: minmax(280px, .72fr) minmax(620px, 1.28fr);
    gap: 20px;
    align-items: start;
}
.wash-customer-card {
    min-height: 0;
    padding: 24px 26px;
}
.wash-customer-card h2 {
    margin-bottom: 22px;
    font-size: 28px;
}
.wash-vehicle {
    margin-bottom: 28px;
    font-size: 19px;
}
.wash-customer-card .stars {
    margin-bottom: 20px;
    color: #f2a900;
    font-size: 46px;
    gap: 12px;
    line-height: 1;
}
.wash-customer-card .muted {
    font-size: 18px;
}
.wash-payment-card {
    padding: 28px 30px 24px;
}
.wash-payment-card h2 {
    margin-bottom: 26px;
    font-size: 30px;
}
.wash-payment-card .service-options {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 16px;
}
.wash-service-option {
    min-height: 158px;
    padding: 22px 44px 20px 22px;
    border-color: #d9dee8;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.wash-service-option:hover {
    border-color: #b9c3d4;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .10);
    transform: translateY(-1px);
}
.wash-service-option:has(input:checked) {
    border-color: #111827;
    box-shadow: 0 0 0 2px rgba(255, 220, 51, .75), var(--shadow);
}
.wash-service-option input {
    inset: 18px 18px auto auto;
    width: 18px;
    height: 18px;
}
.wash-service-option strong {
    display: block;
    margin-bottom: 4px;
    color: #172033;
    font-size: 17px;
}
.wash-service-option span,
.wash-service-option p {
    font-size: 16px;
    font-weight: 700;
}
.wash-payment-card input,
.wash-payment-card select {
    min-height: 56px;
    font-size: 19px;
}
.wash-payment-card textarea {
    min-height: 120px;
}
.wash-actions {
    margin-top: 18px;
}
.wash-actions .primary-action,
.wash-actions .secondary-action {
    min-height: 54px;
    padding: 14px 20px;
    font-size: 18px;
}
.wash-actions button:disabled {
    opacity: .45;
    cursor: not-allowed;
}
.rewards-admin-layout {
    display: grid;
    grid-template-columns: minmax(580px, 1.2fr) minmax(420px, .8fr);
    gap: 20px;
    align-items: start;
}
.rewards-left-stack,
.rewards-right-stack { gap: 16px; }
.reward-rule-form {
    display: grid;
    grid-template-columns: minmax(150px, .55fr) minmax(260px, 1fr) 118px auto;
    gap: 14px;
    align-items: end;
    margin-top: 18px;
}
.reward-rule-form .primary-action {
    min-height: 56px;
    white-space: nowrap;
}
.toggle-row {
    min-height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    font-weight: 900;
}
.toggle-row input {
    width: 18px;
    height: 18px;
}
.reward-service-pill {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 12px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #f9fafb;
    font-size: 12px;
    font-weight: 900;
}
.compact-actions {
    flex-wrap: nowrap;
    gap: 8px;
}
.compact {
    min-height: 36px;
    padding: 8px 10px;
}
.danger-icon { color: var(--red); }
.reward-preview-card {
    overflow: hidden;
    padding: 24px;
    border-radius: 8px;
    color: white;
    background:
        radial-gradient(circle at 20% 10%, rgba(255, 220, 51, .18), transparent 27%),
        linear-gradient(135deg, #050505 0%, #111827 54%, #050505 100%);
    border: 1px solid rgba(255, 220, 51, .30);
}
.reward-preview-top,
.reward-preview-body {
    display: flex;
    justify-content: space-between;
    gap: 18px;
}
.reward-preview-top {
    align-items: flex-start;
    margin-bottom: 28px;
}
.reward-preview-top strong {
    display: block;
    font-size: 24px;
    letter-spacing: 0;
}
.reward-preview-top span,
.preview-gift small { color: var(--yellow); font-weight: 800; }
.reward-preview-top p {
    margin: 0;
    text-align: right;
    font-weight: 900;
}
.reward-ring {
    width: 132px;
    height: 132px;
    flex: 0 0 132px;
    display: grid;
    place-items: center;
    align-content: center;
    border: 8px solid var(--yellow);
    border-left-color: rgba(255, 255, 255, .18);
    border-radius: 999px;
}
.reward-ring strong { font-size: 44px; line-height: 1; }
.reward-ring span {
    color: rgba(255, 255, 255, .78);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.preview-stars {
    display: flex;
    flex-wrap: wrap;
    max-width: 260px;
    margin-bottom: 20px;
    font-size: 28px;
}
.preview-gift {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 8px;
    background: rgba(255, 255, 255, .05);
}
.preview-gift svg {
    width: 34px;
    height: 34px;
    color: var(--yellow);
}
.preview-gift span {
    display: block;
    color: rgba(255, 255, 255, .70);
    font-size: 12px;
    font-weight: 800;
}
.preview-gift strong {
    display: block;
    margin: 2px 0;
    font-size: 18px;
}
.reward-how-list {
    display: grid;
    gap: 18px;
}
.reward-how-list > div {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.reward-how-list svg {
    width: 36px;
    height: 36px;
    padding: 8px;
    border-radius: 999px;
    color: #111827;
    background: var(--yellow);
}
.reward-how-list p { margin: 0; }
.reward-how-list strong,
.reward-how-list span { display: block; }
.reward-how-list span {
    margin-top: 3px;
    color: var(--muted);
}
.reward-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
}
.reward-summary div {
    padding: 18px 12px;
    text-align: center;
    background: #fafafa;
}
.reward-summary div + div { border-left: 1px solid var(--line); }
.reward-summary strong {
    display: block;
    font-size: 26px;
}
.reward-summary span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}
.login-screen {
    min-height: 100vh;
    min-height: 100dvh;
    position: relative;
    display: grid;
    grid-template-columns: minmax(280px, .92fr) minmax(420px, 560px) minmax(320px, .95fr);
    gap: clamp(28px, 4vw, 72px);
    align-items: center;
    align-content: center;
    padding: clamp(32px, 6vh, 78px) clamp(28px, 6vw, 96px);
    overflow-x: hidden;
    overflow-y: auto;
    color: white;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, .10), rgba(0, 0, 0, .82) 48%, rgba(0, 0, 0, .97)),
        linear-gradient(180deg, rgba(0, 0, 0, .10), rgba(0, 0, 0, .88)),
        url("../images/login-car-bg.png") left center / cover no-repeat;
}
.login-screen::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 48% 22%, rgba(255, 220, 51, .12), transparent 20%),
        radial-gradient(circle at 92% 100%, rgba(255, 220, 51, .13), transparent 18%);
    pointer-events: none;
}
.login-screen::after {
    content: "";
    position: absolute;
    right: -120px;
    bottom: -110px;
    width: 420px;
    height: 260px;
    border: 1px solid rgba(255, 220, 51, .22);
    border-radius: 50% 0 0 0;
    background-image: radial-gradient(rgba(255, 255, 255, .18) 1.2px, transparent 1.2px);
    background-size: 30px 30px;
    opacity: .42;
}
.login-body {
    display: block;
    background: #030508;
}
.login-main {
    min-height: 100vh;
    padding: 0;
}
.login-brand-panel,
.login-card,
.login-benefits,
.login-credit {
    position: relative;
    z-index: 1;
}
.login-brand-panel {
    align-self: center;
    max-width: 430px;
    text-align: center;
}
.login-brand-panel img {
    width: min(210px, 52vw);
    height: 210px;
    margin: 0 auto 8px;
    object-fit: contain;
    object-position: top;
    filter: drop-shadow(0 20px 44px rgba(255, 203, 11, .22));
}
.brand-wordmark,
.login-card-brand {
    display: grid;
    justify-items: center;
    line-height: 1;
}
.brand-wordmark strong,
.login-card-brand strong {
    color: #fff;
    font-size: clamp(36px, 4vw, 55px);
    font-weight: 950;
    letter-spacing: 1px;
}
.brand-wordmark span,
.login-card-brand span {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
    color: var(--yellow);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 3px;
}
.brand-wordmark span::before,
.brand-wordmark span::after,
.login-card-brand span::before,
.login-card-brand span::after {
    content: "";
    width: 58px;
    height: 2px;
    background: var(--yellow);
}
.login-card {
    width: min(560px, 100%);
    margin: 0 auto;
    padding: clamp(24px, 3vw, 42px);
    border: 1px solid rgba(255, 255, 255, .14);
    border-top: 4px solid var(--yellow);
    border-radius: 30px;
    background: linear-gradient(145deg, rgba(35, 40, 48, .92), rgba(11, 14, 20, .92));
    box-shadow:
        0 28px 70px rgba(0, 0, 0, .45),
        inset 0 1px 0 rgba(255, 255, 255, .08);
    backdrop-filter: blur(10px);
}
.login-card-brand {
    margin-bottom: 22px;
}
.login-card-brand img {
    width: 100px;
    height: 100px;
    margin: 0 auto 8px;
    object-fit: contain;
    object-position: top;
}
.login-card-brand strong {
    font-size: 34px;
}
.login-card-brand span {
    gap: 10px;
    margin-top: 8px;
    font-size: 14px;
    letter-spacing: 2px;
}
.login-card-brand span::before,
.login-card-brand span::after {
    width: 38px;
}
.login-welcome {
    margin-bottom: 26px;
    text-align: center;
}
.login-welcome h1 {
    margin-bottom: 10px;
    color: white;
    font-size: 31px;
}
.login-welcome h1 span { color: var(--yellow); }
.login-welcome p {
    margin: 0;
    color: rgba(255, 255, 255, .70);
    font-size: 18px;
}
.login-fields {
    display: grid;
    gap: 18px;
}
.login-field label {
    color: white;
    font-size: 12px;
    text-transform: uppercase;
}
.login-input {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 58px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    background: rgba(5, 8, 13, .30);
    transition: border-color .2s ease, box-shadow .2s ease;
}
.login-input:focus-within {
    border-color: rgba(255, 220, 51, .72);
    box-shadow: 0 0 0 3px rgba(255, 220, 51, .11);
}
.login-input > svg,
.login-input > [data-lucide] {
    width: 23px;
    height: 23px;
    margin-left: 17px;
    color: rgba(255, 255, 255, .68);
    stroke-width: 2.4;
}
.login-input input {
    min-height: 56px;
    border: 0;
    color: white;
    background: transparent;
    font-size: 17px;
    outline: 0;
}
.login-input input::placeholder { color: rgba(255, 255, 255, .48); }
.login-input input:-webkit-autofill,
.login-input input:-webkit-autofill:hover,
.login-input input:-webkit-autofill:focus,
.login-input input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px rgba(12, 16, 24, .98) inset;
    -webkit-text-fill-color: #fff;
    caret-color: #fff;
    border-radius: 0;
    transition: background-color 9999s ease-out;
}
.password-toggle {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 0;
    color: rgba(255, 255, 255, .64);
    background: transparent;
    cursor: pointer;
}
.password-toggle svg,
.password-toggle [data-lucide] {
    width: 22px;
    height: 22px;
}
.login-options {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    color: white;
    font-size: 14px;
    font-weight: 700;
}
.login-options label {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    color: white;
    font-size: 14px;
}
.login-options input {
    width: 21px;
    min-height: 21px;
    accent-color: var(--yellow);
}
.login-options a {
    color: var(--yellow);
}
.login-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-height: 60px;
    border: 0;
    border-radius: 9px;
    color: #080808;
    background: linear-gradient(135deg, #ffdc33, #ffc400);
    box-shadow: 0 18px 42px rgba(255, 196, 0, .22);
    font-size: 19px;
    font-weight: 950;
    letter-spacing: .7px;
    cursor: pointer;
}
.login-submit svg,
.login-submit [data-lucide] {
    width: 28px;
    height: 28px;
    stroke-width: 2.5;
}
.login-operation {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, .09);
    color: rgba(255, 255, 255, .72);
    text-align: center;
}
.login-operation strong {
    color: var(--yellow);
}
.client-access-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    margin-top: 16px;
    color: var(--yellow);
    font-weight: 900;
}
.client-access-link svg,
.client-access-link [data-lucide] {
    width: 19px;
    height: 19px;
}
.client-auth-page,
.client-dashboard {
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    padding: clamp(18px, 3vw, 36px);
    color: white;
    background:
        linear-gradient(90deg, rgba(3, 5, 8, .78), rgba(3, 5, 8, .98) 46%, #030508),
        linear-gradient(180deg, rgba(255, 220, 51, .08), rgba(3, 5, 8, .04) 34%),
        url("../images/login-car-bg.png") left center / cover no-repeat;
}
.client-auth-page {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}
.client-auth-shell {
    width: min(460px, 100%);
}
.client-auth-brand,
.client-logo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: white;
    font-weight: 950;
}
.client-auth-brand {
    justify-content: center;
    width: 100%;
    margin-bottom: 24px;
}
.client-auth-brand img,
.client-logo img {
    width: 62px;
    height: 62px;
    object-fit: contain;
}
.client-auth-brand strong,
.client-logo span {
    display: block;
    font-size: 26px;
    line-height: .95;
    letter-spacing: 1px;
}
.client-auth-brand span,
.client-logo strong {
    display: block;
    margin-top: 5px;
    color: var(--yellow);
    font-size: 15px;
    letter-spacing: 2px;
}
.client-phone-card {
    display: grid;
    gap: 18px;
    padding: clamp(24px, 4vw, 34px);
    border: 1px solid rgba(255, 255, 255, .14);
    border-top: 4px solid var(--yellow);
    border-radius: 26px;
    background: linear-gradient(145deg, rgba(30, 35, 43, .94), rgba(8, 11, 17, .96));
    box-shadow: 0 28px 70px rgba(0, 0, 0, .48), inset 0 1px 0 rgba(255, 255, 255, .08);
}
.client-phone-card h1 {
    color: white;
    font-size: clamp(30px, 8vw, 42px);
    line-height: 1;
}
.client-phone-card p {
    color: rgba(255, 255, 255, .72);
    font-size: 16px;
}
.client-auth-note,
.client-back-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: rgba(255, 255, 255, .70);
    font-size: 14px;
    font-weight: 800;
}
.client-back-link {
    color: var(--yellow);
}
.client-resend-form {
    display: flex;
    justify-content: center;
    margin-top: 14px;
}
.client-resend-form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    border: 1px solid rgba(255, 220, 51, .36);
    border-radius: 999px;
    padding: 9px 16px;
    color: var(--yellow);
    background: rgba(255, 220, 51, .06);
    font-weight: 900;
    cursor: pointer;
}
.client-resend-form svg,
.client-resend-form [data-lucide] {
    width: 17px;
    height: 17px;
}
.client-whatsapp-icon {
    display: grid;
    place-items: center;
    width: 112px;
    height: 112px;
    margin: 2px auto 10px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    background: rgba(255, 255, 255, .06);
    color: #22c55e;
}
.client-whatsapp-icon svg,
.client-whatsapp-icon [data-lucide] {
    width: 58px;
    height: 58px;
}
.otp-input {
    width: 100%;
    min-height: 64px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 10px;
    color: white;
    background: rgba(3, 5, 8, .55);
    text-align: center;
    font-size: 30px;
    font-weight: 900;
    letter-spacing: 10px;
}
.otp-boxes {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}
.otp-boxes input {
    width: 100%;
    aspect-ratio: 1;
    min-height: 60px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 10px;
    color: white;
    background: rgba(3, 5, 8, .62);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
    text-align: center;
    font-size: 31px;
    font-weight: 950;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.otp-boxes input:focus {
    outline: none;
    border-color: var(--yellow);
    box-shadow: 0 0 0 3px rgba(255, 220, 51, .16), 0 14px 34px rgba(255, 220, 51, .10);
    transform: translateY(-1px);
}
.client-dashboard {
    display: grid;
    gap: 18px;
}
.client-dashboard-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.client-dashboard-nav .actions {
    justify-content: flex-end;
}
.client-help {
    min-height: 38px;
    border-color: rgba(255, 255, 255, .13);
    color: white;
    background: rgba(255, 255, 255, .04);
}
.client-help svg,
.client-help [data-lucide] {
    color: var(--yellow);
}
.client-hero {
    display: flex;
    align-items: flex-end;
    min-height: 190px;
    padding: 28px;
    border-radius: 8px;
    background:
        linear-gradient(90deg, #030508 10%, rgba(3, 5, 8, .72) 52%, rgba(3, 5, 8, .18)),
        url("../images/login-car-bg.png") right center / cover no-repeat;
}
.client-hero h1 {
    margin-bottom: 8px;
    color: white;
    font-size: clamp(32px, 5vw, 50px);
}
.client-hero p {
    max-width: 500px;
    margin: 0;
    color: rgba(255, 255, 255, .76);
}
.client-progress-card,
.client-info-card,
.client-unlocks-card,
.client-activity-card,
.client-benefits-card {
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 8px;
    background: linear-gradient(145deg, rgba(18, 22, 29, .94), rgba(5, 7, 11, .96));
    box-shadow: 0 24px 60px rgba(0, 0, 0, .28);
}
.client-progress-card {
    display: grid;
    grid-template-columns: 1fr 1.2fr 150px;
    gap: 22px;
    align-items: center;
    padding: 28px;
}
.client-vehicle-tile,
.client-next-gift {
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 8px;
    background: rgba(255, 255, 255, .04);
}
.client-vehicle-tile {
    padding: 20px;
}
.client-vehicle-tile span,
.client-stars-current span,
.client-next-gift span {
    display: block;
    color: rgba(255, 255, 255, .58);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}
.client-vehicle-tile strong {
    display: block;
    margin: 8px 0 4px;
    color: white;
    font-size: 31px;
    line-height: 1;
}
.client-vehicle-tile p,
.client-stars-current p,
.client-stars-row p {
    margin: 0;
    color: rgba(255, 255, 255, .72);
}
.client-stars-current strong {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 8px 0 4px;
    color: white;
    font-size: 48px;
}
.client-stars-current svg,
.client-stars-current [data-lucide] {
    width: 46px;
    height: 46px;
    color: var(--yellow);
    fill: var(--yellow);
}
.client-progress-ring {
    display: grid;
    place-items: center;
    width: 132px;
    height: 132px;
    justify-self: center;
    border: 9px solid rgba(255, 255, 255, .13);
    border-top-color: var(--yellow);
    border-right-color: var(--yellow);
    border-radius: 50%;
    text-align: center;
}
.client-progress-ring strong {
    display: block;
    color: white;
    font-size: 30px;
    line-height: 1;
}
.client-progress-ring span {
    color: rgba(255, 255, 255, .65);
    font-size: 12px;
    font-weight: 900;
}
.client-stars-row {
    grid-column: 1 / 3;
}
.client-stars-row .star {
    display: inline-block;
    margin-right: 8px;
    color: var(--yellow);
    font-size: 37px;
    line-height: 1;
    text-shadow: 0 0 20px rgba(255, 220, 51, .16);
}
.client-stars-row .star.empty {
    color: rgba(255, 255, 255, .26);
}
.client-next-gift {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px;
}
.client-next-gift svg,
.client-next-gift [data-lucide] {
    width: 44px;
    height: 44px;
    padding: 10px;
    border-radius: 50%;
    color: var(--yellow);
    background: rgba(255, 220, 51, .12);
}
.client-next-gift strong {
    display: block;
    margin: 5px 0;
    color: white;
    font-size: 18px;
}
.client-next-gift small {
    color: var(--yellow);
    font-weight: 800;
}
.client-info-card {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: 16px;
    align-items: center;
    padding: 22px;
}
.client-info-card h2,
.client-unlocks-card h2,
.client-activity-card h2,
.client-benefits-card h2 {
    margin-bottom: 8px;
    color: white;
    font-size: 18px;
}
.client-info-card p,
.client-benefits-card p {
    margin: 0;
    color: rgba(255, 255, 255, .68);
}
.client-rule-mini {
    display: grid;
    gap: 5px;
    padding: 14px;
    border-left: 1px solid rgba(255, 255, 255, .10);
}
.client-rule-mini svg,
.client-rule-mini [data-lucide],
.client-activity-item > svg,
.client-activity-item > [data-lucide] {
    width: 34px;
    height: 34px;
    padding: 8px;
    border-radius: 50%;
    color: var(--yellow);
    background: rgba(255, 220, 51, .12);
}
.client-rule-mini strong {
    color: white;
}
.client-rule-mini span {
    color: rgba(255, 255, 255, .64);
    font-size: 13px;
}
.client-unlocks-card,
.client-activity-card,
.client-benefits-card {
    padding: 22px;
}
.client-unlock-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 14px;
}
.client-unlock-grid article {
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 8px;
    background: rgba(255, 255, 255, .04);
    text-align: center;
}
.client-unlock-grid article.is-next {
    border-color: rgba(255, 220, 51, .88);
    box-shadow: 0 0 0 1px rgba(255, 220, 51, .18);
}
.client-unlock-grid article.is-unlocked {
    border-color: rgba(34, 197, 94, .45);
}
.client-unlock-grid strong {
    color: white;
    font-size: 30px;
}
.client-unlock-grid strong span {
    color: var(--yellow);
}
.client-unlock-grid p {
    margin: 4px 0 13px;
    color: rgba(255, 255, 255, .75);
}
.client-unlock-grid small {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 28px;
    padding: 6px 10px;
    border-radius: 999px;
    color: white;
    background: rgba(255, 255, 255, .10);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.client-unlock-grid .is-next small {
    color: #0f172a;
    background: var(--yellow);
}
.client-unlock-grid .is-unlocked small {
    background: rgba(22, 163, 74, .72);
}
.client-unlock-grid small svg,
.client-unlock-grid small [data-lucide] {
    width: 13px;
    height: 13px;
}
.client-bottom-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.client-activity-item {
    display: grid;
    grid-template-columns: 38px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 12px 0;
    border-top: 1px solid rgba(255, 255, 255, .08);
}
.client-activity-item p {
    margin: 0;
    color: rgba(255, 255, 255, .78);
}
.client-activity-item strong {
    display: block;
    color: rgba(255, 255, 255, .58);
    font-size: 12px;
}
.client-activity-item span {
    color: var(--yellow);
    font-weight: 900;
}
.client-benefits-card {
    position: relative;
    min-height: 190px;
    overflow: hidden;
    border-color: rgba(255, 220, 51, .30);
}
.client-benefits-card > svg,
.client-benefits-card > [data-lucide] {
    position: absolute;
    right: 22px;
    bottom: 18px;
    width: 92px;
    height: 92px;
    color: rgba(255, 220, 51, .30);
}
.client-dashboard .muted {
    color: rgba(255, 255, 255, .60);
}
.login-benefits {
    max-width: 430px;
}
.login-benefits h2 {
    max-width: 310px;
    margin-bottom: 16px;
    color: white;
    font-size: clamp(28px, 3vw, 33px);
    line-height: 1.22;
}
.login-benefits h2 span {
    display: block;
    color: var(--yellow);
}
.login-title-rule {
    width: 58px;
    height: 3px;
    margin-bottom: 44px;
    background: var(--yellow);
}
.login-benefits article {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 22px;
    align-items: start;
    margin-bottom: 40px;
}
.login-benefits article svg,
.login-benefits article [data-lucide] {
    width: 44px;
    height: 44px;
    color: var(--yellow);
    stroke-width: 2.2;
}
.login-benefits h3 {
    margin-bottom: 7px;
    color: white;
    font-size: 18px;
}
.login-benefits p {
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: 15px;
    line-height: 1.55;
}
.login-credit {
    position: fixed;
    left: 50%;
    bottom: 22px;
    display: inline-flex;
    gap: 10px;
    align-items: center;
    transform: translateX(-50%);
    color: rgba(255, 255, 255, .64);
    font-size: 14px;
    font-weight: 700;
}
.login-credit a {
    color: rgba(255, 255, 255, .72);
    text-decoration: none;
}
.login-credit a:hover {
    color: var(--yellow);
}
.login-credit svg,
.login-credit [data-lucide] {
    width: 18px;
    height: 18px;
    color: rgba(255, 255, 255, .50);
}
.wallet-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 22px;
    background:
        radial-gradient(circle at top, rgba(255, 220, 51, .16), transparent 34%),
        linear-gradient(145deg, #050505 0%, #111827 48%, #050505 100%);
}
.wallet-card {
    width: min(390px, 100%);
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    padding: 20px;
    color: #f8fafc;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .02)),
        #0b0f17;
    border: 1px solid rgba(255, 220, 51, .36);
    box-shadow: 0 28px 70px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .08);
    text-align: center;
}
.wallet-card::before {
    content: "";
    position: absolute;
    inset: -70px -90px auto auto;
    width: 190px;
    height: 190px;
    border-radius: 999px;
    background: rgba(255, 220, 51, .13);
    filter: blur(2px);
}
.wallet-card > * {
    position: relative;
    z-index: 1;
}
.wallet-card img {
    width: 92px;
    max-height: 118px;
    object-fit: contain;
}
.wallet-card h1 {
    margin-bottom: 6px;
    color: #ffffff;
    font-size: 27px;
    letter-spacing: 0;
}
.wallet-card h2 {
    margin-bottom: 10px;
    color: var(--yellow);
    font-size: 22px;
    letter-spacing: 1px;
}
.wallet-card .muted { color: rgba(248, 250, 252, .72); }
.wallet-star-strip {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px;
    max-width: 155px;
    margin: 8px auto 10px;
}
.wallet-star-strip img {
    width: 12px;
    height: 12px;
    filter: drop-shadow(0 3px 8px rgba(255, 220, 51, .16));
}
.wallet-star-strip span {
    display: inline-grid;
    place-items: center;
    min-width: 24px;
    height: 16px;
    border-radius: 999px;
    color: #0b0f17;
    background: var(--yellow);
    font-size: 10px;
    font-weight: 900;
}
.wallet-card p small {
    display: inline-block;
    margin-left: 5px;
    color: rgba(248, 250, 252, .58);
    font-size: 12px;
    font-weight: 800;
}
.wallet-progress-mini {
    display: flex;
    justify-content: center;
    gap: 4px;
    margin: 0 auto 12px;
}
.wallet-progress-mini span {
    width: 12px;
    height: 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .14);
}
.wallet-progress-mini span.filled {
    background: var(--yellow);
}
.google-wallet-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin: 12px auto 4px;
    padding: 12px 18px;
    border-radius: 8px;
    background: var(--yellow);
    color: #050505;
    font-weight: 900;
    box-shadow: 0 15px 35px rgba(255, 220, 51, .22);
}
.google-wallet-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 38px rgba(255, 220, 51, .30);
}
#qr, .qr-box {
    width: 224px;
    height: 224px;
    margin: 14px auto;
    display: grid;
    place-items: center;
    border: 5px solid rgba(255, 255, 255, .16);
    border-radius: 8px;
    background: white;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .30);
}
.qr-box canvas,
.qr-box img {
    width: 214px !important;
    height: 214px !important;
    max-height: none;
    object-fit: contain;
}
.scan-video {
    width: 100%;
    max-height: 52vh;
    background: #111;
    border-radius: 8px;
}
.service-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.service-option {
    position: relative;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 14px;
    background: white;
}
.service-option input { position: absolute; inset: 10px 10px auto auto; width: auto; min-height: auto; }
.app-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 34px;
    padding: 18px 0 4px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}
.app-footer a {
    color: var(--ink);
    font-weight: 900;
}
.app-footer a:hover { color: var(--accent-dark); }

@media (max-width: 900px) {
    .app-shell { display: block; }
    .sidebar {
        position: static;
        width: 100%;
        min-height: auto;
        padding: 14px;
    }
    .sidebar nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .main-content { padding: 18px; }
    .login-main { padding: 0; }
    .login-screen {
        grid-template-columns: 1fr;
        gap: 26px;
        min-height: 100vh;
        min-height: 100dvh;
        padding: 22px 18px 72px;
        background-position: 28% center;
    }
    .login-brand-panel { display: none; }
    .login-card {
        order: 1;
        max-width: 630px;
        padding: 24px 28px 26px;
        border-radius: 24px;
    }
    .login-card-brand {
        margin-bottom: 20px;
    }
    .login-card-brand img {
        width: 82px;
        height: 82px;
    }
    .login-benefits {
        order: 2;
        max-width: 560px;
        margin: 0 auto;
    }
    .login-title-rule { margin-bottom: 26px; }
    .login-benefits article { margin-bottom: 24px; }
    .topbar { align-items: flex-start; flex-direction: column; }
    .grid.cols-2, .grid.cols-3, .grid.cols-4, .form-grid { grid-template-columns: 1fr; }
    .date-filter-bar { grid-template-columns: 1fr; }
    .date-filter-actions {
        flex-wrap: wrap;
        min-width: 0;
    }
    .customer-detail-grid { grid-template-columns: 1fr; }
    .customer-profile-card,
    .customer-reward-card { min-height: 0; }
    .customer-card-header { flex-direction: column; }
    .reward-stars { font-size: 42px; gap: 10px; }
    .wash-layout { grid-template-columns: 1fr; }
    .rewards-admin-layout,
    .reward-rule-form { grid-template-columns: 1fr; }
    .reward-preview-body { flex-direction: column; }
    .reward-summary { grid-template-columns: 1fr; }
    .reward-summary div + div {
        border-top: 1px solid var(--line);
        border-left: 0;
    }
    .client-dashboard-nav,
    .client-dashboard-nav .actions,
    .client-info-card,
    .client-bottom-grid {
        display: grid;
        grid-template-columns: 1fr;
    }
    .client-dashboard-nav .actions {
        justify-content: stretch;
    }
    .client-progress-card {
        grid-template-columns: 1fr;
        padding: 20px;
    }
    .client-stars-row {
        grid-column: auto;
    }
    .client-progress-ring {
        justify-self: start;
    }
    .client-rule-mini {
        border-top: 1px solid rgba(255, 255, 255, .10);
        border-left: 0;
    }
    .form-row.full { grid-column: auto; }
    .pagination { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
    .client-auth-page,
    .client-dashboard {
        padding: 16px;
    }
    .client-auth-brand img,
    .client-logo img {
        width: 52px;
        height: 52px;
    }
    .client-phone-card {
        padding: 22px;
        border-radius: 20px;
    }
    .client-hero {
        min-height: 210px;
        padding: 20px;
        background-position: center;
    }
    .client-stars-row .star {
        margin-right: 4px;
        font-size: 28px;
    }
    .client-unlock-grid {
        grid-template-columns: 1fr 1fr;
    }
    .client-activity-item {
        grid-template-columns: 38px 1fr;
    }
    .client-activity-item span {
        grid-column: 2;
    }
    .otp-input {
        font-size: 26px;
        letter-spacing: 7px;
    }
    .otp-boxes {
        gap: 7px;
    }
    .otp-boxes input {
        min-height: 48px;
        border-radius: 8px;
        font-size: 23px;
    }
}

@media (max-height: 820px) and (min-width: 901px) {
    .login-screen {
        padding-top: 28px;
        padding-bottom: 56px;
    }
    .login-brand-panel img {
        width: 150px;
        height: 150px;
    }
    .brand-wordmark strong { font-size: 39px; }
    .brand-wordmark span { font-size: 14px; }
    .login-card {
        padding: 22px 34px;
        border-radius: 24px;
    }
    .login-card-brand {
        margin-bottom: 16px;
    }
    .login-card-brand img {
        width: 78px;
        height: 78px;
    }
    .login-card-brand strong { font-size: 28px; }
    .login-card-brand span { font-size: 12px; }
    .login-welcome {
        margin-bottom: 18px;
    }
    .login-welcome h1 { font-size: 27px; }
    .login-welcome p { font-size: 16px; }
    .login-fields { gap: 14px; }
    .login-input,
    .login-input input {
        min-height: 50px;
    }
    .login-submit {
        min-height: 54px;
    }
    .login-operation {
        margin-top: 18px;
        padding-top: 16px;
    }
    .login-title-rule { margin-bottom: 28px; }
    .login-benefits article { margin-bottom: 26px; }
    .login-benefits article svg,
    .login-benefits article [data-lucide] {
        width: 38px;
        height: 38px;
    }
}

@media (max-height: 700px) and (max-width: 900px) {
    .login-screen {
        align-content: start;
        padding-top: 28px;
    }
    .login-card {
        padding: 16px 38px 18px;
    }
    .login-card-brand { margin-bottom: 10px; }
    .login-card-brand img {
        width: 48px;
        height: 48px;
    }
    .login-card-brand strong { font-size: 25px; }
    .login-card-brand span { margin-top: 6px; font-size: 11px; }
    .login-card-brand span::before,
    .login-card-brand span::after { width: 30px; }
    .login-welcome {
        margin-bottom: 12px;
    }
    .login-welcome h1 { margin-bottom: 5px; font-size: 25px; }
    .login-welcome p { font-size: 15px; }
    .login-fields { gap: 10px; }
    .login-input,
    .login-input input {
        min-height: 46px;
    }
    .login-submit { min-height: 48px; }
    .login-operation {
        margin-top: 12px;
        padding-top: 12px;
    }
}

@media (max-height: 700px) and (min-width: 600px) and (max-width: 900px) {
    .login-body {
        overflow: hidden;
    }
    .login-screen {
        overflow-y: hidden;
    }
    .login-card {
        align-self: start;
        margin-top: 18px;
    }
    .login-benefits {
        display: none;
    }
}

@media (max-width: 520px) {
    .sidebar nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    h1 { font-size: 26px; }
    .stars { gap: 7px; }
    .reward-stars, .wash-customer-card .stars { font-size: 34px; }
    .wallet-stars { font-size: 32px; }
    .login-card-brand img {
        width: 96px;
        height: 96px;
    }
    .login-card-brand strong { font-size: 29px; }
    .login-welcome h1 { font-size: 27px; }
    .login-options {
        align-items: flex-start;
        flex-direction: column;
    }
    .login-benefits h2 { font-size: 25px; }
    .login-benefits article {
        grid-template-columns: 38px 1fr;
        gap: 16px;
    }
    .login-benefits article svg,
    .login-benefits article [data-lucide] {
        width: 36px;
        height: 36px;
    }
    .primary-action, .secondary-action, .danger-action, .ghost-action { width: 100%; }
}
