:root {
    --ls-bg: #f4f5f7;
    --ls-surface: #ffffff;
    --ls-dark: #090c11;
    --ls-dark-2: #111720;
    --ls-gold: #d7a62a;
    --ls-gold-light: #f2c552;
    --ls-text: #191d24;
    --ls-muted: #6d7480;
    --ls-border: #e2e5e9;
    --ls-danger: #b42318;
}

html, body {
    background: var(--ls-bg);
    color: var(--ls-text);
}

body {
    margin: 0;
}

a {
    text-decoration: none;
}

.ls-shell {
    min-height: 100vh;
    background: var(--ls-bg);
}

.ls-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: 255px;
    z-index: 20;
    background:
        radial-gradient(circle at 20% 10%, rgba(215, 166, 42, .13), transparent 24%),
        linear-gradient(180deg, var(--ls-dark), #0a0e15 100%);
    border-right: 1px solid rgba(255, 255, 255, .06);
}

.ls-main {
    min-height: 100vh;
    margin-left: 255px;
}

.ls-topbar {
    height: 68px;
    padding: 0 34px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    background: rgba(255, 255, 255, .93);
    border-bottom: 1px solid var(--ls-border);
    backdrop-filter: blur(8px);
}

.ls-topbar > div {
    text-align: right;
}

.ls-topbar-title,
.ls-topbar-subtitle {
    display: block;
}

.ls-topbar-title {
    font-weight: 700;
    font-size: .9rem;
}

.ls-topbar-subtitle {
    color: var(--ls-muted);
    font-size: .75rem;
}

.ls-content {
    max-width: 1380px;
    margin: 0 auto;
    padding: 38px;
}

.ls-nav {
    min-height: 100vh;
    padding: 24px 16px;
    display: flex;
    flex-direction: column;
}

.ls-brand {
    padding: 10px 10px 30px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.ls-brand-mark {
    width: 46px;
    height: 46px;
    border: 1px solid rgba(242, 197, 82, .5);
    border-radius: 14px;
    display: grid;
    place-items: center;
    color: var(--ls-gold-light);
    background: rgba(215, 166, 42, .08);
    font-size: 1.4rem;
    box-shadow: 0 0 24px rgba(215, 166, 42, .08);
}

.ls-brand-name {
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .03em;
}

.ls-brand-name span {
    color: var(--ls-gold-light);
}

.ls-brand-small {
    margin-top: 2px;
    color: #8f98a5;
    font-size: .68rem;
}

.ls-nav-links {
    display: grid;
    gap: 6px;
}

.ls-nav-link {
    min-height: 48px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-radius: 12px;
    color: #aeb6c1;
    font-size: .91rem;
    transition: .18s ease;
}

.ls-nav-link:hover {
    color: #fff;
    background: rgba(255, 255, 255, .055);
}

.ls-nav-link.active {
    color: #fff;
    background: linear-gradient(90deg, rgba(215, 166, 42, .21), rgba(215, 166, 42, .07));
    box-shadow: inset 3px 0 0 var(--ls-gold);
}

.ls-nav-icon {
    width: 25px;
    color: var(--ls-gold-light);
    text-align: center;
    font-size: 1.1rem;
}

.ls-nav-footer {
    margin-top: auto;
    padding: 18px 12px 4px;
    color: #646d78;
    font-size: .7rem;
}

.ls-page-header {
    margin-bottom: 28px;
    display: flex;
    gap: 24px;
    align-items: flex-end;
    justify-content: space-between;
}

.ls-page-header h1 {
    margin: 3px 0 7px;
    font-size: clamp(1.8rem, 4vw, 2.65rem);
    font-weight: 780;
    letter-spacing: -.035em;
}

.ls-page-header p {
    margin: 0;
    color: var(--ls-muted);
}

.ls-eyebrow {
    color: #a57b11;
    font-size: .69rem;
    letter-spacing: .14em;
    font-weight: 800;
}

.ls-primary-action,
.ls-secondary-action {
    min-height: 46px;
    border-radius: 12px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    font-weight: 750;
    cursor: pointer;
    transition: .18s ease;
}

.ls-primary-action {
    color: #171109 !important;
    background: linear-gradient(135deg, var(--ls-gold-light), var(--ls-gold));
    box-shadow: 0 9px 22px rgba(173, 128, 16, .15);
}

.ls-primary-action:hover {
    transform: translateY(-1px);
    filter: brightness(1.03);
}

.ls-primary-action.button {
    font-size: .94rem;
}

.ls-secondary-action {
    color: var(--ls-text);
    background: #fff;
    border: 1px solid var(--ls-border);
}

.ls-secondary-action:hover {
    border-color: #c6a24a;
}

.ls-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 38px;
}

.ls-stat-card {
    min-height: 142px;
    padding: 22px;
    display: flex;
    gap: 17px;
    align-items: flex-start;
    background: var(--ls-surface);
    border: 1px solid var(--ls-border);
    border-radius: 18px;
    box-shadow: 0 6px 20px rgba(20, 28, 38, .035);
}

.ls-stat-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: #8d6811;
    background: #fff6db;
    font-weight: 900;
}

.ls-stat-card > div:last-child {
    display: grid;
    gap: 1px;
}

.ls-stat-label {
    color: var(--ls-muted);
    font-size: .8rem;
}

.ls-stat-card strong {
    margin-top: 4px;
    font-size: 1.8rem;
    line-height: 1.1;
}

.ls-stat-card small {
    margin-top: 7px;
    color: #8a9099;
}

.ls-section-title {
    margin: 4px 0 15px;
}

.ls-section-title h2,
.ls-panel-header h2 {
    margin: 3px 0 0;
    font-size: 1.3rem;
    font-weight: 760;
}

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

.ls-shortcut-card {
    min-height: 88px;
    padding: 18px;
    display: grid;
    grid-template-columns: 46px 1fr auto;
    align-items: center;
    gap: 14px;
    border: 1px solid var(--ls-border);
    border-radius: 16px;
    background: #fff;
    color: var(--ls-text) !important;
    transition: .18s ease;
}

.ls-shortcut-card:hover {
    transform: translateY(-2px);
    border-color: #d9c071;
    box-shadow: 0 10px 24px rgba(20, 28, 38, .06);
}

.ls-shortcut-card.highlight {
    color: #fff !important;
    background: linear-gradient(135deg, #131923, #0a0e14);
    border-color: #202936;
}

.ls-shortcut-icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #fff6db;
    color: #946d0d;
    font-size: 1.25rem;
}

.ls-shortcut-card.highlight .ls-shortcut-icon {
    color: var(--ls-gold-light);
    background: rgba(215, 166, 42, .13);
}

.ls-shortcut-card strong,
.ls-shortcut-card small {
    display: block;
}

.ls-shortcut-card small {
    margin-top: 4px;
    color: var(--ls-muted);
}

.ls-shortcut-card.highlight small {
    color: #919aa6;
}

.ls-arrow {
    color: #b38a22;
    font-size: 1.2rem;
}

.ls-note {
    margin-top: 28px;
    padding: 18px 20px;
    display: flex;
    gap: 13px;
    border: 1px solid #eadba9;
    border-radius: 15px;
    background: #fffaf0;
}

.ls-note-icon {
    color: #a57b11;
}

.ls-note p {
    margin: 5px 0 0;
    color: #716852;
    font-size: .88rem;
}

.ls-inventory-summary {
    margin-bottom: 20px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 200px));
    gap: 12px;
}

.ls-inventory-summary > div {
    padding: 15px 17px;
    border-radius: 14px;
    background: #111720;
    color: #fff;
}

.ls-inventory-summary span,
.ls-inventory-summary strong {
    display: block;
}

.ls-inventory-summary span {
    color: #979fac;
    font-size: .75rem;
}

.ls-inventory-summary strong {
    margin-top: 2px;
    color: var(--ls-gold-light);
    font-size: 1.45rem;
}

.ls-panel {
    padding: 24px;
    border: 1px solid var(--ls-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 6px 22px rgba(20, 28, 38, .035);
}

.ls-panel-header {
    margin-bottom: 20px;
}

.ls-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.ls-field {
    display: grid;
    gap: 7px;
}

.ls-field.span-2 {
    grid-column: span 2;
}

.ls-field label {
    color: #4f5660;
    font-size: .78rem;
    font-weight: 700;
}

.ls-field input,
.ls-field select {
    width: 100%;
    min-height: 46px;
    padding: 0 13px;
    border: 1px solid #d9dde2;
    border-radius: 11px;
    background: #fff;
    color: var(--ls-text);
    outline: none;
}

.ls-field input:focus,
.ls-field select:focus {
    border-color: #cba13b;
    box-shadow: 0 0 0 3px rgba(215, 166, 42, .11);
}

.ls-form-actions {
    margin-top: 20px;
}

.ls-error {
    margin-top: 16px;
    padding: 11px 13px;
    color: #8f2018;
    background: #fff0ee;
    border: 1px solid #ffd1cb;
    border-radius: 10px;
    font-size: .86rem;
}

.inventory-title {
    margin-top: 31px;
}

.ls-equipment-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.ls-equipment-card {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--ls-border);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(20, 28, 38, .03);
}

.ls-equipment-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ls-category {
    padding: 5px 8px;
    color: #84620f;
    background: #fff5d5;
    border-radius: 7px;
    font-size: .66rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.ls-delete {
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 8px;
    color: #9a5350;
    background: #fff4f3;
    cursor: pointer;
    font-size: 1.1rem;
}

.ls-delete:hover {
    color: #fff;
    background: var(--ls-danger);
}

.ls-equipment-visual {
    height: 95px;
    margin: 14px 0 13px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--ls-gold-light);
    background:
        radial-gradient(circle at center, rgba(215, 166, 42, .12), transparent 50%),
        #0d1118;
    font-size: 2rem;
}

.ls-equipment-card h3 {
    margin: 0 0 14px;
    font-size: 1.03rem;
    font-weight: 780;
}

.ls-equipment-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.ls-equipment-info > div {
    padding: 9px 10px;
    border-radius: 9px;
    background: #f5f6f8;
}

.ls-equipment-info span,
.ls-equipment-info strong {
    display: block;
}

.ls-equipment-info span {
    color: var(--ls-muted);
    font-size: .65rem;
}

.ls-equipment-info strong {
    margin-top: 2px;
    font-size: .85rem;
}

.ls-equipment-note {
    margin: 12px 0 0;
    padding-top: 12px;
    color: var(--ls-muted);
    border-top: 1px solid #eceef0;
    font-size: .77rem;
}

.ls-empty {
    padding: 58px 24px;
    text-align: center;
    border: 1px dashed #cfd4da;
    border-radius: 17px;
    background: rgba(255, 255, 255, .63);
}

.ls-empty-icon {
    width: 54px;
    height: 54px;
    margin: 0 auto 13px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: #957010;
    background: #fff4d1;
    font-size: 1.35rem;
}

.ls-empty h3 {
    margin: 0;
}

.ls-empty p {
    max-width: 560px;
    margin: 7px auto 17px;
    color: var(--ls-muted);
}

@media (max-width: 1050px) {
    .ls-stat-grid {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 768px) {
    .ls-sidebar {
        position: fixed;
        inset: auto 0 0 0;
        width: auto;
        height: 72px;
        border-right: 0;
        border-top: 1px solid #252c36;
    }

    .ls-main {
        margin-left: 0;
        padding-bottom: 84px;
    }

    .ls-topbar {
        height: 58px;
        padding: 0 18px;
    }

    .ls-content {
        padding: 23px 17px;
    }

    .ls-nav {
        min-height: 0;
        height: 72px;
        padding: 5px 8px;
    }

    .ls-brand,
    .ls-nav-footer {
        display: none;
    }

    .ls-nav-links {
        height: 100%;
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 2px;
    }

    .ls-nav-link {
        min-height: 58px;
        padding: 5px 1px;
        display: flex;
        flex-direction: column;
        gap: 1px;
        justify-content: center;
        border-radius: 9px;
        font-size: .58rem;
    }

    .ls-nav-link.active {
        box-shadow: inset 0 3px 0 var(--ls-gold);
    }

    .ls-nav-icon {
        width: auto;
        font-size: 1rem;
    }

    .ls-page-header {
        align-items: stretch;
        flex-direction: column;
        gap: 15px;
    }

    .ls-page-header .ls-primary-action,
    .ls-page-header .ls-secondary-action {
        width: 100%;
    }

    .ls-stat-grid,
    .ls-shortcuts,
    .ls-equipment-grid,
    .ls-form-grid {
        grid-template-columns: 1fr;
    }

    .ls-field.span-2 {
        grid-column: span 1;
    }

    .ls-inventory-summary {
        grid-template-columns: 1fr 1fr;
    }

    .ls-shortcut-card {
        min-height: 80px;
    }
}

@media (max-width: 430px) {
    .ls-content {
        padding-inline: 13px;
    }

    .ls-panel {
        padding: 18px 15px;
    }

    .ls-nav-link span:last-child {
        display: none;
    }

    .ls-nav-icon {
        font-size: 1.2rem;
    }
}

/* LUMEN STAR ETAPA 3 - AUTH */

.ls-user-area {
    display: flex;
    align-items: center;
    gap: 14px;
}

.ls-logout {
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--ls-border);
    border-radius: 9px;
    background: #fff;
    color: var(--ls-text);
    font-size: .76rem;
    font-weight: 700;
    cursor: pointer;
}

.ls-logout:hover {
    border-color: #cba13b;
}

.ls-auth-loading {
    min-height: 100vh;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 10px;
    background: #090c11;
    color: #c3c9d1;
}

.ls-auth-loading-star {
    color: var(--ls-gold-light);
    font-size: 2rem;
}

.ls-login-layout {
    min-height: 100vh;
}

.ls-login-page {
    position: relative;
    min-height: 100vh;
    padding: 24px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 20% 15%, rgba(215, 166, 42, .14), transparent 25%),
        radial-gradient(circle at 80% 80%, rgba(215, 166, 42, .08), transparent 30%),
        #090c11;
}

.ls-login-glow {
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 999px;
    background: rgba(215, 166, 42, .05);
    filter: blur(65px);
}

.ls-login-card {
    position: relative;
    z-index: 1;
    width: min(100%, 450px);
    padding: 34px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 24px;
    background: rgba(15, 19, 26, .94);
    box-shadow: 0 30px 90px rgba(0, 0, 0, .42);
}

.ls-login-brand {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 36px;
}

.ls-login-mark {
    width: 51px;
    height: 51px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(242, 197, 82, .48);
    border-radius: 15px;
    color: var(--ls-gold-light);
    background: rgba(215, 166, 42, .08);
    font-size: 1.45rem;
}

.ls-login-name {
    color: #fff;
    font-weight: 900;
    letter-spacing: .035em;
}

.ls-login-name span {
    color: var(--ls-gold-light);
}

.ls-login-small {
    margin-top: 2px;
    color: #7f8996;
    font-size: .69rem;
}

.ls-login-heading {
    margin-bottom: 24px;
}

.ls-login-heading h1 {
    margin: 5px 0 7px;
    color: #fff;
    font-size: 2rem;
    letter-spacing: -.035em;
}

.ls-login-heading p {
    margin: 0;
    color: #8e97a3;
    font-size: .9rem;
}

.ls-login-form {
    display: grid;
    gap: 16px;
}

.ls-login-form .ls-field label {
    color: #b8bec6;
}

.ls-login-form .ls-field input {
    color: #fff;
    background: #0c1118;
    border-color: #29313c;
}

.ls-login-form .ls-field input::placeholder {
    color: #59616d;
}

.ls-login-form .ls-field input:focus {
    border-color: #cba13b;
}

.ls-login-button {
    width: 100%;
    margin-top: 4px;
    justify-content: space-between;
}

.ls-login-button:disabled,
.ls-primary-action:disabled {
    opacity: .65;
    cursor: wait;
    transform: none;
}

.ls-login-security {
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .07);
    color: #737d89;
    text-align: center;
    font-size: .72rem;
}

.ls-login-security span {
    margin-right: 5px;
    color: #50b678;
}

.ls-page-error {
    margin-bottom: 18px;
}

.ls-online-badge {
    min-height: 35px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #cfe7d7;
    border-radius: 999px;
    background: #f1fbf4;
    color: #32764a;
    font-size: .78rem;
    font-weight: 700;
}

.ls-online-badge span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #35a75f;
    box-shadow: 0 0 0 4px rgba(53, 167, 95, .1);
}

.ls-note-online {
    border-color: #cfe7d7;
    background: #f3fbf5;
}

.ls-note-online .ls-note-icon {
    color: #35a75f;
}

@media (max-width: 600px) {
    .ls-login-page {
        padding: 14px;
    }

    .ls-login-card {
        padding: 26px 20px;
        border-radius: 20px;
    }

    .ls-user-area .ls-topbar-title {
        display: none;
    }
}

/* LUMEN STAR ETAPA 4 */

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

.ls-client-card {
    padding: 17px;
    display: flex;
    gap: 13px;
    align-items: center;
    border: 1px solid var(--ls-border);
    border-radius: 15px;
    background: #fff;
}

.ls-client-avatar {
    width: 45px;
    height: 45px;
    flex: 0 0 45px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #111720;
    color: var(--ls-gold-light);
    font-weight: 900;
}

.ls-client-card h3 {
    margin: 0 0 3px;
    font-size: .96rem;
}

.ls-client-card span,
.ls-client-card small {
    display: block;
    color: var(--ls-muted);
    font-size: .76rem;
}

.ls-inline-link {
    display: inline-block;
    margin-top: 8px;
    color: #8c6811;
    font-weight: 750;
    font-size: .83rem;
}

.ls-availability-list,
.ls-rentals-list {
    display: grid;
    gap: 11px;
}

.ls-availability-card {
    padding: 17px 19px;
    display: flex;
    gap: 18px;
    align-items: center;
    justify-content: space-between;
    border: 1px solid var(--ls-border);
    border-radius: 15px;
    background: #fff;
}

.ls-availability-card h3 {
    margin: 7px 0 2px;
    font-size: 1rem;
}

.ls-availability-card p {
    margin: 0;
    color: var(--ls-muted);
    font-size: .8rem;
}

.ls-available {
    color: #247a46;
}

.ls-unavailable {
    color: #b42318;
}

.ls-availability-action {
    min-width: 180px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.ls-availability-action > span {
    color: var(--ls-muted);
    font-size: .8rem;
}

.ls-rental-items {
    display: grid;
    gap: 10px;
}

.ls-rental-item {
    padding: 13px 0;
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--ls-border);
}

.ls-rental-item strong,
.ls-rental-item small {
    display: block;
}

.ls-rental-item small {
    margin-top: 3px;
    color: var(--ls-muted);
    font-size: .7rem;
}

.ls-rental-controls {
    display: flex;
    align-items: end;
    gap: 9px;
}

.ls-rental-controls label {
    display: grid;
    gap: 4px;
    color: var(--ls-muted);
    font-size: .67rem;
}

.ls-rental-controls input {
    width: 105px;
    min-height: 37px;
    padding: 0 9px;
    border: 1px solid var(--ls-border);
    border-radius: 8px;
}

.ls-rental-total {
    margin-top: 18px;
    padding: 14px 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
}

.ls-rental-total span {
    color: var(--ls-muted);
}

.ls-rental-total strong {
    font-size: 1.35rem;
}

.ls-rental-bottom {
    margin-top: 6px;
}

.ls-save-options {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.ls-rental-card {
    padding: 17px 19px;
    border: 1px solid var(--ls-border);
    border-radius: 15px;
    background: #fff;
}

.ls-rental-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.ls-rental-main h3 {
    margin: 7px 0 3px;
    font-size: 1rem;
}

.ls-rental-main p {
    margin: 0;
    color: var(--ls-muted);
    font-size: .78rem;
}

.ls-rental-actions {
    margin-top: 13px;
    padding-top: 13px;
    display: flex;
    gap: 8px;
    border-top: 1px solid var(--ls-border);
}

.ls-status {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: .65rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.status-orcamento {
    color: #67520e;
    background: #fff4c9;
}

.status-reservado {
    color: #185c9a;
    background: #e9f4ff;
}

.status-retirado {
    color: #815116;
    background: #fff0dc;
}

.status-devolvido {
    color: #247a46;
    background: #eaf8ef;
}

.status-cancelado {
    color: #8c3b35;
    background: #fff0ee;
}

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

@media (max-width: 650px) {
    .ls-client-list {
        grid-template-columns: 1fr;
    }

    .ls-availability-card,
    .ls-rental-item,
    .ls-rental-main {
        align-items: stretch;
        flex-direction: column;
    }

    .ls-availability-action {
        min-width: 0;
        justify-content: space-between;
    }

    .ls-rental-controls {
        flex-wrap: wrap;
    }

    .ls-rental-controls label {
        flex: 1;
    }

    .ls-rental-controls input {
        width: 100%;
    }

    .ls-save-options,
    .ls-rental-actions {
        flex-direction: column;
    }

    .ls-save-options > *,
    .ls-rental-actions > * {
        width: 100%;
    }
}

/* LUMEN STAR ETAPA 5 - PAGAMENTOS */

.ls-finance-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 30px;
}

.ls-finance-stat {
    padding: 19px 20px;
    border: 1px solid var(--ls-border);
    border-radius: 16px;
    background: #fff;
}

.ls-finance-stat span,
.ls-finance-stat strong {
    display: block;
}

.ls-finance-stat span {
    color: var(--ls-muted);
    font-size: .76rem;
}

.ls-finance-stat strong {
    margin-top: 5px;
    font-size: 1.45rem;
}

.ls-finance-stat.received {
    border-color: #cfe7d7;
    background: #f6fcf8;
}

.ls-finance-stat.received strong {
    color: #247a46;
}

.ls-finance-stat.pending {
    border-color: #eadba9;
    background: #fffaf0;
}

.ls-finance-stat.pending strong {
    color: #8d6811;
}

.ls-finance-list {
    display: grid;
    gap: 14px;
}

.ls-finance-card {
    padding: 20px;
    border: 1px solid var(--ls-border);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(20, 28, 38, .025);
}

.ls-finance-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.ls-finance-card-head h3 {
    margin: 7px 0 3px;
    font-size: 1.06rem;
}

.ls-finance-card-head p {
    margin: 0;
    color: var(--ls-muted);
    font-size: .77rem;
}

.ls-paid-badge {
    padding: 7px 10px;
    border-radius: 999px;
    background: #eaf8ef;
    color: #247a46;
    font-size: .72rem;
    font-weight: 800;
}

.ls-finance-values {
    margin-top: 17px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

.ls-finance-values > div {
    padding: 11px 12px;
    border-radius: 10px;
    background: #f5f6f8;
}

.ls-finance-values span,
.ls-finance-values strong {
    display: block;
}

.ls-finance-values span {
    color: var(--ls-muted);
    font-size: .67rem;
}

.ls-finance-values strong {
    margin-top: 2px;
    font-size: .91rem;
}

.positive {
    color: #247a46 !important;
}

.negative {
    color: #a15f17 !important;
}

.muted {
    color: #8a9099 !important;
    text-decoration: line-through;
}

.ls-payment-form {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid #eadba9;
    border-radius: 14px;
    background: #fffaf0;
}

.ls-payment-form-title {
    margin-bottom: 15px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.ls-payment-form-title h4 {
    margin: 3px 0 0;
}

.ls-close-mini {
    width: 31px;
    height: 31px;
    border: 0;
    border-radius: 8px;
    background: rgba(0, 0, 0, .055);
    cursor: pointer;
    font-size: 1.1rem;
}

.ls-field small {
    color: var(--ls-muted);
    font-size: .66rem;
}

.ls-payment-actions {
    margin-top: 17px;
    display: flex;
    justify-content: flex-end;
    gap: 9px;
}

.ls-payment-history {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--ls-border);
}

.ls-payment-history > strong {
    display: block;
    margin-bottom: 9px;
    font-size: .8rem;
}

.ls-payment-row {
    padding: 9px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid #f0f1f2;
}

.ls-payment-row:last-child {
    border-bottom: 0;
}

.ls-payment-row span,
.ls-payment-row small {
    display: block;
}

.ls-payment-row span {
    font-size: .79rem;
    font-weight: 700;
}

.ls-payment-row small {
    margin-top: 2px;
    color: var(--ls-muted);
    font-size: .66rem;
}

.ls-payment-row-right {
    text-align: right;
}

.ls-payment-row-right strong {
    display: block;
    font-size: .83rem;
}

.ls-text-danger {
    margin-top: 3px;
    padding: 0;
    border: 0;
    background: none;
    color: #a13e36;
    cursor: pointer;
    font-size: .65rem;
}

.ls-refunded {
    margin-top: 3px;
    color: #8a9099;
    font-size: .65rem !important;
    font-weight: 600 !important;
}

@media (max-width: 760px) {
    .ls-finance-stats,
    .ls-finance-values {
        grid-template-columns: 1fr;
    }

    .ls-finance-card-head {
        align-items: stretch;
        flex-direction: column;
    }

    .ls-finance-card-head .ls-primary-action {
        width: 100%;
    }

    .ls-payment-actions {
        flex-direction: column;
    }

    .ls-payment-actions > * {
        width: 100%;
    }
}


/* LUMEN STAR ETAPA 6 - DOCUMENTOS */

.ls-doc-layout {
    display: grid;
    grid-template-columns: minmax(250px, 320px) 1fr;
    gap: 18px;
    align-items: start;
}

.ls-doc-list {
    position: sticky;
    top: 90px;
    display: grid;
    gap: 9px;
}

.ls-doc-list-item {
    width: 100%;
    padding: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 1px solid var(--ls-border);
    border-radius: 13px;
    background: #fff;
    color: var(--ls-text);
    text-align: left;
    cursor: pointer;
}

.ls-doc-list-item:hover,
.ls-doc-list-item.active {
    border-color: #d3b352;
    box-shadow: 0 6px 18px rgba(20, 28, 38, .045);
}

.ls-doc-list-item.active {
    background: #fffaf0;
}

.ls-doc-list-item > div {
    display: grid;
    gap: 4px;
}

.ls-doc-list-item strong,
.ls-doc-list-item small {
    display: block;
}

.ls-doc-list-item strong {
    font-size: .85rem;
}

.ls-doc-list-item small {
    color: var(--ls-muted);
    font-size: .66rem;
}

.ls-doc-list-item > span {
    color: #80610f;
    font-size: .75rem;
    font-weight: 800;
}

.ls-doc-area {
    min-width: 0;
}

.ls-doc-actions {
    margin-bottom: 12px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.ls-document-paper {
    max-width: 860px;
    margin: 0 auto;
    padding: 38px 42px;
    background: #fff;
    color: #15191f;
    border: 1px solid #e1e3e6;
    box-shadow: 0 10px 35px rgba(20, 28, 38, .07);
}

.ls-document-header {
    padding-bottom: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 2px solid #d7a62a;
}

.ls-document-logo {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ls-document-star {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #0c1118;
    color: #f2c552;
    font-size: 1.3rem;
}

.ls-document-logo strong,
.ls-document-logo small {
    display: block;
}

.ls-document-logo strong {
    font-size: 1rem;
    letter-spacing: .03em;
}

.ls-document-logo strong span {
    color: #b58716;
}

.ls-document-logo small {
    margin-top: 2px;
    color: #747a83;
    font-size: .67rem;
}

.ls-document-company {
    text-align: right;
}

.ls-document-company strong,
.ls-document-company span {
    display: block;
}

.ls-document-company strong {
    font-size: .76rem;
}

.ls-document-company span {
    margin-top: 2px;
    color: #747a83;
    font-size: .65rem;
}

.ls-document-title {
    padding: 22px 0 12px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 15px;
}

.ls-document-title span {
    font-size: 1.4rem;
    font-weight: 900;
    letter-spacing: -.025em;
}

.ls-document-title strong {
    color: #8b6710;
    font-size: .73rem;
}

.ls-document-section {
    padding: 16px 0;
    border-top: 1px solid #e9eaec;
    break-inside: avoid;
}

.ls-document-section h3 {
    margin: 0 0 11px;
    color: #2c323a;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.ls-document-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 11px 20px;
}

.ls-document-grid span,
.ls-document-grid strong {
    display: block;
}

.ls-document-grid span {
    color: #7d838b;
    font-size: .62rem;
}

.ls-document-grid strong {
    margin-top: 2px;
    font-size: .76rem;
    font-weight: 650;
}

.ls-document-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .72rem;
}

.ls-document-table th,
.ls-document-table td {
    padding: 9px 7px;
    border-bottom: 1px solid #e8e9eb;
}

.ls-document-table th {
    color: #737981;
    background: #f5f6f7;
    text-align: left;
    font-size: .62rem;
    text-transform: uppercase;
}

.ls-document-table th:nth-child(n+2),
.ls-document-table td:nth-child(n+2) {
    text-align: right;
}

.ls-document-table td strong,
.ls-document-table td small {
    display: block;
}

.ls-document-table td small {
    margin-top: 2px;
    color: #858b92;
    font-size: .59rem;
}

.ls-document-totals {
    margin: 14px 0 6px auto;
    width: min(100%, 360px);
    display: grid;
    gap: 5px;
    break-inside: avoid;
}

.ls-document-totals > div {
    padding: 7px 9px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    background: #f5f6f7;
    font-size: .7rem;
}

.ls-document-totals .main {
    color: #fff;
    background: #0d1118;
    font-size: .8rem;
}

.ls-document-totals .paid {
    color: #247a46;
    background: #eef9f2;
}

.ls-document-totals .balance {
    color: #8d6811;
    background: #fff7df;
}

.ls-document-text {
    margin: 0;
    color: #60666e;
    font-size: .72rem;
    line-height: 1.55;
}

.ls-contract-clauses {
    margin: 0;
    padding-left: 18px;
    color: #555c65;
    font-size: .67rem;
    line-height: 1.55;
}

.ls-contract-clauses li + li {
    margin-top: 5px;
}

.ls-signature-area {
    margin-top: 28px;
    padding-top: 18px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 34px;
    break-inside: avoid;
}

.ls-signature-area span,
.ls-signature-area strong {
    display: block;
    text-align: center;
}

.ls-signature-area span {
    color: #838991;
    font-size: .58rem;
}

.ls-signature-area strong {
    margin-top: 6px;
    font-size: .68rem;
}

.ls-signature-line {
    height: 45px;
    border-bottom: 1px solid #555b62;
}

.ls-document-footer {
    margin-top: 25px;
    padding-top: 10px;
    border-top: 1px solid #e9eaec;
    color: #91969c;
    text-align: center;
    font-size: .55rem;
}

.ls-doc-hint {
    max-width: 860px;
    margin: 12px auto 0;
    padding: 14px 16px;
    border: 1px solid #eadba9;
    border-radius: 12px;
    background: #fffaf0;
}

.ls-doc-hint strong {
    font-size: .76rem;
}

.ls-doc-hint p {
    margin: 4px 0 0;
    color: #726a55;
    font-size: .7rem;
}

@media (max-width: 980px) {
    .ls-doc-layout {
        grid-template-columns: 1fr;
    }

    .ls-doc-list {
        position: static;
    }
}

@media (max-width: 620px) {
    .ls-document-paper {
        padding: 23px 17px;
    }

    .ls-document-header,
    .ls-document-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .ls-document-company {
        text-align: left;
    }

    .ls-document-grid,
    .ls-signature-area {
        grid-template-columns: 1fr;
    }

    .ls-doc-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ls-doc-actions > * {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .ls-nav-links {
        grid-template-columns: repeat(7, 1fr);
    }
}

@media print {
    .ls-sidebar,
    .ls-topbar,
    .ls-page-header,
    .ls-doc-list,
    .ls-doc-actions,
    .ls-doc-hint {
        display: none !important;
    }

    .ls-main {
        margin: 0 !important;
    }

    .ls-content {
        padding: 0 !important;
    }

    .ls-document-paper {
        max-width: none;
        border: 0;
        box-shadow: none;
    }
}


/* LUMEN STAR ETAPA 7 - ASSINATURA */
.ls-sign-page-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:18px;align-items:start}
.ls-sign-summary{margin-bottom:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.ls-sign-summary>div{padding:11px;border-radius:10px;background:#f5f6f8}
.ls-sign-summary span,.ls-sign-summary strong{display:block}
.ls-sign-summary span{color:var(--ls-muted);font-size:.66rem}
.ls-sign-summary strong{margin-top:3px;font-size:.78rem}
.ls-signer-field{margin-bottom:16px}
.ls-sign-instructions{margin-bottom:8px;color:#5e646d;font-size:.77rem;font-weight:700}
.ls-signature-canvas-wrap{width:100%;height:240px;overflow:hidden;border:1px dashed #bfc4ca;border-radius:13px;background:repeating-linear-gradient(0deg,#fff,#fff 38px,#f2f3f5 39px)}
.ls-signature-canvas{width:100%;height:100%;display:block;cursor:crosshair}
.ls-sign-canvas-actions{margin-top:13px;display:flex;justify-content:flex-end;gap:9px}
.ls-sign-consent{margin-top:13px;color:#777f88;font-size:.68rem;line-height:1.5}
.ls-sign-existing{position:sticky;top:90px}
.ls-sign-saved-image{min-height:120px;padding:12px;display:grid;place-items:center;border:1px solid var(--ls-border);border-radius:12px;background:#fff}
.ls-sign-saved-image img{max-width:100%;max-height:120px;object-fit:contain}
.ls-sign-meta{margin:14px 0;display:grid;gap:8px}
.ls-sign-meta>div{padding:9px 10px;border-radius:9px;background:#f5f6f8}
.ls-sign-meta dt{color:var(--ls-muted);font-size:.62rem}
.ls-sign-meta dd{margin:2px 0 0;font-size:.76rem;font-weight:700}
.ls-contract-saved-signature{height:60px;margin-top:4px;display:grid;place-items:end center;border-bottom:1px solid #555b62}
.ls-contract-saved-signature img{max-width:95%;max-height:55px;object-fit:contain}
.ls-signature-area small{display:block;margin-top:3px;color:#858b92;text-align:center;font-size:.53rem}
@media(max-width:900px){.ls-sign-page-grid{grid-template-columns:1fr}.ls-sign-existing{position:static}}
@media(max-width:620px){.ls-sign-summary{grid-template-columns:1fr}.ls-signature-canvas-wrap{height:220px}.ls-sign-canvas-actions{flex-direction:column}.ls-sign-canvas-actions>*{width:100%}}


/* LUMEN STAR ETAPA 7.1 - ASSINATURA POR LINK */

.ls-sign-link-notice {
    margin-bottom: 16px;
    padding: 12px 14px;
    border: 1px solid #cfe7d7;
    border-radius: 11px;
    background: #f2fbf5;
    color: #256d42;
    font-size: .76rem;
    font-weight: 700;
}

.ls-sign-link-panel {
    margin-bottom: 14px;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border: 1px solid #eadba9;
    border-radius: 14px;
    background: #fffaf0;
}

.ls-sign-link-status {
    margin-top: 6px;
}

.ls-sign-link-status strong,
.ls-sign-link-status small {
    display: block;
}

.ls-sign-link-status strong {
    font-size: .87rem;
}

.ls-sign-link-status small {
    margin-top: 2px;
    color: #7a725f;
    font-size: .67rem;
}

.ls-sign-link-status.signed strong {
    color: #247a46;
}

.ls-sign-link-status.waiting strong {
    color: #8d6811;
}

.ls-sign-link-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    flex-wrap: wrap;
}

.ls-public-shell {
    min-height: 100vh;
    background:
        radial-gradient(circle at top right, rgba(217, 167, 39, .09), transparent 30%),
        #f3f4f6;
    color: #121821;
}

.ls-public-page {
    width: min(100% - 28px, 860px);
    margin: 0 auto;
    padding: 28px 0 34px;
}

.ls-public-brand {
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 11px;
}

.ls-public-brand-mark {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #0c1118;
    color: #efbd3d;
    font-size: 1.1rem;
}

.ls-public-brand strong,
.ls-public-brand small {
    display: block;
}

.ls-public-brand strong {
    font-size: .95rem;
    letter-spacing: .02em;
}

.ls-public-brand strong span {
    color: #ae7e0f;
}

.ls-public-brand small {
    margin-top: 2px;
    color: #737a84;
    font-size: .65rem;
}

.ls-public-card {
    padding: 28px;
    border: 1px solid #dfe2e6;
    border-radius: 19px;
    background: #fff;
    box-shadow: 0 12px 38px rgba(17, 24, 34, .06);
}

.ls-public-center {
    padding: 55px 25px;
    text-align: center;
}

.ls-public-center h1,
.ls-public-center h2 {
    margin: 8px 0;
}

.ls-public-center p {
    color: #737a84;
}

.ls-public-invalid-icon,
.ls-public-success-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 12px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    font-size: 1.4rem;
    font-weight: 900;
}

.ls-public-invalid-icon {
    background: #fff1e7;
    color: #a15f17;
}

.ls-public-success-icon {
    background: #eaf8ef;
    color: #247a46;
}

.ls-public-success {
    padding: 65px 28px;
    text-align: center;
}

.ls-public-success h1 {
    margin: 10px 0 6px;
}

.ls-public-success p {
    max-width: 500px;
    margin: 0 auto;
    color: #666e78;
}

.ls-public-success small {
    display: block;
    margin-top: 17px;
    color: #8a9199;
}

.ls-public-error {
    margin-bottom: 13px;
    padding: 11px 13px;
    border: 1px solid #efc8c4;
    border-radius: 10px;
    background: #fff3f2;
    color: #9c3c35;
    font-size: .74rem;
    font-weight: 700;
}

.ls-public-contract-head {
    padding-bottom: 19px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 2px solid #d7a62a;
}

.ls-public-eyebrow {
    color: #a6760a;
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .11em;
}

.ls-public-contract-head h1 {
    margin: 5px 0 2px;
    font-size: 1.65rem;
}

.ls-public-contract-head p {
    margin: 0;
    color: #737a84;
    font-size: .78rem;
}

.ls-public-total {
    min-width: 150px;
    padding: 13px 15px;
    border-radius: 12px;
    background: #0d1219;
    color: #fff;
    text-align: right;
}

.ls-public-total span,
.ls-public-total strong {
    display: block;
}

.ls-public-total span {
    color: #c8cbd0;
    font-size: .64rem;
}

.ls-public-total strong {
    margin-top: 2px;
    font-size: 1.08rem;
}

.ls-public-section {
    padding: 20px 0;
    border-bottom: 1px solid #e9eaec;
}

.ls-public-section:last-child {
    border-bottom: 0;
}

.ls-public-section h2 {
    margin: 0 0 12px;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.ls-public-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.ls-public-grid > div {
    padding: 11px 12px;
    border-radius: 10px;
    background: #f5f6f7;
}

.ls-public-grid span,
.ls-public-grid strong {
    display: block;
}

.ls-public-grid span {
    color: #7d848c;
    font-size: .62rem;
}

.ls-public-grid strong {
    margin-top: 3px;
    font-size: .76rem;
}

.ls-public-items {
    display: grid;
    gap: 7px;
}

.ls-public-item {
    padding: 10px 11px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-radius: 9px;
    background: #f6f7f8;
}

.ls-public-item strong,
.ls-public-item small,
.ls-public-item span {
    display: block;
}

.ls-public-item > div:first-child > strong {
    font-size: .76rem;
}

.ls-public-item small {
    margin-top: 2px;
    color: #858b92;
    font-size: .59rem;
}

.ls-public-item-values {
    text-align: right;
}

.ls-public-item-values span {
    color: #757c85;
    font-size: .62rem;
}

.ls-public-item-values strong {
    margin-top: 2px;
    font-size: .73rem;
}

.ls-public-money {
    width: min(100%, 370px);
    margin-left: auto;
    display: grid;
    gap: 5px;
}

.ls-public-money > div {
    padding: 8px 10px;
    display: flex;
    justify-content: space-between;
    background: #f5f6f7;
    font-size: .72rem;
}

.ls-public-money .main {
    background: #0d1219;
    color: #fff;
    font-size: .79rem;
}

.ls-public-text {
    margin: 0;
    color: #626a73;
    font-size: .75rem;
    line-height: 1.55;
}

.ls-public-terms {
    margin: 0;
    padding-left: 20px;
    color: #555d66;
    font-size: .73rem;
    line-height: 1.58;
}

.ls-public-terms li + li {
    margin-top: 6px;
}

.ls-public-sign-section {
    padding-bottom: 2px;
}

.ls-public-field {
    display: grid;
    gap: 6px;
}

.ls-public-field label {
    font-size: .7rem;
    font-weight: 750;
}

.ls-public-field input {
    width: 100%;
    padding: 11px 12px;
    border: 1px solid #d6dae0;
    border-radius: 10px;
    font: inherit;
    font-size: .84rem;
}

.ls-public-consent {
    margin: 15px 0;
    padding: 12px;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    border: 1px solid #e2e4e7;
    border-radius: 10px;
    background: #fafafa;
    cursor: pointer;
}

.ls-public-consent input {
    margin-top: 2px;
}

.ls-public-consent span {
    color: #515963;
    font-size: .71rem;
    line-height: 1.45;
}

.ls-public-sign-label {
    margin-bottom: 7px;
    font-size: .72rem;
    font-weight: 750;
}

.ls-public-canvas-wrap {
    height: 240px;
    overflow: hidden;
    border: 1px dashed #b9c0c8;
    border-radius: 12px;
    background:
        repeating-linear-gradient(
            0deg,
            #fff,
            #fff 38px,
            #f1f2f4 39px
        );
}

.ls-public-canvas {
    width: 100%;
    height: 100%;
    display: block;
    touch-action: none;
}

.ls-public-sign-actions {
    margin-top: 12px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.ls-public-primary,
.ls-public-secondary {
    min-height: 43px;
    padding: 0 16px;
    border-radius: 10px;
    cursor: pointer;
    font: inherit;
    font-size: .77rem;
    font-weight: 800;
}

.ls-public-primary {
    border: 1px solid #d9a728;
    background: #e8b632;
    color: #15191f;
}

.ls-public-secondary {
    border: 1px solid #d9dde2;
    background: #fff;
    color: #222831;
}

.ls-public-primary:disabled,
.ls-public-secondary:disabled {
    opacity: .6;
    cursor: default;
}

.ls-public-security {
    margin: 13px 0 0;
    color: #858c95;
    font-size: .62rem;
    text-align: right;
}

.ls-public-footer {
    padding: 18px 0 0;
    color: #8b9199;
    text-align: center;
    font-size: .62rem;
}

@media (max-width: 760px) {
    .ls-sign-link-panel {
        align-items: stretch;
        flex-direction: column;
    }

    .ls-sign-link-actions {
        justify-content: stretch;
    }

    .ls-sign-link-actions > * {
        flex: 1 1 160px;
        text-align: center;
    }
}

@media (max-width: 600px) {
    .ls-public-page {
        width: min(100% - 18px, 860px);
        padding-top: 14px;
    }

    .ls-public-card {
        padding: 19px 15px;
        border-radius: 15px;
    }

    .ls-public-contract-head {
        flex-direction: column;
    }

    .ls-public-total {
        width: 100%;
        text-align: left;
    }

    .ls-public-grid {
        grid-template-columns: 1fr;
    }

    .ls-public-item {
        align-items: flex-start;
    }

    .ls-public-canvas-wrap {
        height: 220px;
    }

    .ls-public-sign-actions {
        flex-direction: column;
    }

    .ls-public-primary,
    .ls-public-secondary {
        width: 100%;
    }
}

/* LUMEN STAR ETAPA 8 - USUARIOS E PERMISSOES */

.ls-role-chip {
    margin: 4px 14px 15px;
    padding: 7px 10px;
    display: flex;
    align-items: center;
    gap: 7px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    color: #c6cbd1;
    background: rgba(255,255,255,.035);
    font-size: .65rem;
    font-weight: 750;
}

.ls-role-chip span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #9299a2;
}

.ls-role-chip.admin span {
    background: #e4b53c;
}

.ls-role-chip.team span {
    background: #69a77d;
}

.ls-access-denied {
    padding: 30px;
    gap: 10px;
    text-align: center;
}

.ls-access-denied strong {
    font-size: 1rem;
}

.ls-access-denied span {
    max-width: 520px;
    color: #777f88;
    font-size: .76rem;
}

.ls-team-success {
    margin-bottom: 16px;
    padding: 12px 14px;
    border: 1px solid #cce5d4;
    border-radius: 11px;
    background: #f2fbf5;
    color: #246f41;
    font-size: .74rem;
    font-weight: 700;
}

.ls-team-security-note {
    margin-top: 17px;
    padding: 14px 15px;
    border: 1px solid #eadba9;
    border-radius: 12px;
    background: #fffaf0;
}

.ls-team-security-note strong {
    display: block;
    font-size: .78rem;
}

.ls-team-security-note p {
    margin: 5px 0 0;
    color: #6e6757;
    font-size: .7rem;
    line-height: 1.5;
}

.ls-team-list {
    display: grid;
    gap: 10px;
}

.ls-team-card {
    padding: 15px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border: 1px solid var(--ls-border);
    border-radius: 14px;
    background: #fff;
}

.ls-team-card.pending {
    border-style: dashed;
    background: #fffdf8;
}

.ls-team-person {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
}

.ls-team-avatar {
    width: 39px;
    height: 39px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #10151d;
    color: #e7b83f;
    font-size: .82rem;
    font-weight: 900;
}

.ls-team-person strong,
.ls-team-person small {
    display: block;
}

.ls-team-person small {
    margin-top: 3px;
    color: var(--ls-muted);
    font-size: .68rem;
}

.ls-team-name-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.ls-role-badge {
    padding: 4px 7px;
    border-radius: 999px;
    font-size: .56rem;
    font-weight: 850;
}

.ls-role-badge.admin {
    background: #fff3cf;
    color: #86630e;
}

.ls-role-badge.team {
    background: #eaf7ee;
    color: #317349;
}

.ls-team-status-area {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    flex-wrap: wrap;
}

.ls-member-status {
    padding: 5px 8px;
    border-radius: 999px;
    font-size: .58rem;
    font-weight: 800;
}

.ls-member-status.active {
    background: #eaf8ef;
    color: #247a46;
}

.ls-member-status.inactive {
    background: #f2f3f4;
    color: #777e86;
}

.ls-member-status.waiting {
    background: #fff3cf;
    color: #896610;
}

@media (max-width: 700px) {
    .ls-team-card {
        align-items: stretch;
        flex-direction: column;
    }

    .ls-team-status-area {
        justify-content: space-between;
    }

    .ls-team-status-area .ls-secondary-action {
        flex: 1;
        text-align: center;
    }

    .ls-role-chip {
        display: none;
    }
}


/* ============================================================
   LUMEN STAR - CORRECAO VISUAL ETAPA 8
   Restaura sidebar + dashboard + acesso rapido
   ============================================================ */

@media (min-width: 901px) {
    .ls-shell {
        min-height: 100vh !important;
        display: block !important;
        background: #f4f5f7 !important;
    }

    .ls-sidebar {
        position: fixed !important;
        inset: 0 auto 0 0 !important;
        width: 238px !important;
        min-width: 238px !important;
        display: block !important;
        overflow-y: auto !important;
        z-index: 50 !important;
        background:
            radial-gradient(circle at 15% 10%, rgba(224, 173, 46, .10), transparent 24%),
            #0b1017 !important;
        border-right: 1px solid rgba(255, 255, 255, .06) !important;
    }

    .ls-main {
        min-height: 100vh !important;
        margin-left: 238px !important;
        width: calc(100% - 238px) !important;
        background: #f4f5f7 !important;
    }

    .ls-topbar {
        min-height: 60px !important;
        padding: 0 28px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        background: rgba(255, 255, 255, .94) !important;
        border-bottom: 1px solid #e3e5e8 !important;
        backdrop-filter: blur(10px) !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 30 !important;
    }

    .ls-content {
        padding: 36px 34px 54px !important;
        max-width: 1500px !important;
        margin: 0 auto !important;
    }
}

/* SIDEBAR */
.ls-nav {
    min-height: 100vh !important;
    padding: 24px 14px 18px !important;
    display: flex !important;
    flex-direction: column !important;
}

.ls-brand {
    margin: 0 8px 22px !important;
    padding-bottom: 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .07) !important;
}

.ls-brand-mark {
    width: 40px !important;
    height: 40px !important;
    flex: 0 0 40px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 11px !important;
    background: linear-gradient(145deg, #e8b83b, #bd8611) !important;
    color: #0c1016 !important;
    font-size: 1rem !important;
    box-shadow: 0 8px 24px rgba(216, 164, 35, .17) !important;
}

.ls-brand-name {
    color: #f2f4f7 !important;
    font-size: .91rem !important;
    font-weight: 900 !important;
    letter-spacing: .025em !important;
}

.ls-brand-name span {
    color: #e5b43a !important;
}

.ls-brand-small {
    margin-top: 2px !important;
    color: #777f89 !important;
    font-size: .58rem !important;
}

.ls-nav-links {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
}

.ls-nav-link {
    min-height: 43px !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    border-radius: 10px !important;
    color: #9fa6af !important;
    text-decoration: none !important;
    font-size: .74rem !important;
    font-weight: 700 !important;
    transition: .16s ease !important;
}

.ls-nav-link:hover {
    color: #f3f5f7 !important;
    background: rgba(255, 255, 255, .055) !important;
}

.ls-nav-link.active {
    color: #f5ca59 !important;
    background: linear-gradient(90deg, rgba(226, 174, 44, .15), rgba(226, 174, 44, .05)) !important;
    box-shadow: inset 3px 0 0 #ddb03b !important;
}

.ls-nav-icon {
    width: 23px !important;
    min-width: 23px !important;
    display: inline-grid !important;
    place-items: center !important;
    color: inherit !important;
    font-size: .91rem !important;
}

.ls-nav-footer {
    margin-top: auto !important;
    padding: 18px 10px 2px !important;
    color: #555e69 !important;
    font-size: .59rem !important;
    text-align: center !important;
}

/* PERFIL NO TOPO */
.ls-user-area {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 14px !important;
}

.ls-user-area > div {
    text-align: right !important;
}

.ls-topbar-title {
    display: block !important;
    color: #222831 !important;
    font-size: .69rem !important;
    font-weight: 800 !important;
}

.ls-topbar-subtitle {
    display: block !important;
    margin-top: 2px !important;
    color: #858b93 !important;
    font-size: .61rem !important;
}

.ls-logout {
    min-height: 34px !important;
    padding: 0 13px !important;
    border: 1px solid #dfe2e6 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #252a31 !important;
    cursor: pointer !important;
    font-size: .66rem !important;
    font-weight: 700 !important;
}

/* CABECALHO DA HOME */
.ls-page-header {
    margin-bottom: 27px !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 18px !important;
}

.ls-page-header h1 {
    margin: 4px 0 4px !important;
    color: #111821 !important;
    font-size: clamp(1.9rem, 3vw, 2.55rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.035em !important;
}

.ls-page-header p {
    margin: 0 !important;
    color: #777f88 !important;
    font-size: .78rem !important;
}

.ls-eyebrow {
    color: #9d7106 !important;
    font-size: .62rem !important;
    font-weight: 900 !important;
    letter-spacing: .12em !important;
}

/* BOTAO PRINCIPAL */
.ls-primary-action {
    min-height: 44px !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: linear-gradient(135deg, #f1c34d, #dfa91d) !important;
    color: #15191f !important;
    text-decoration: none !important;
    font-size: .72rem !important;
    font-weight: 850 !important;
    box-shadow: 0 10px 25px rgba(215, 165, 37, .17) !important;
    cursor: pointer !important;
}

/* CARDS DE INDICADORES */
.ls-stat-grid {
    margin-bottom: 34px !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.ls-stat-card {
    min-height: 128px !important;
    padding: 21px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 15px !important;
    border: 1px solid #e0e3e7 !important;
    border-radius: 17px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(24, 32, 43, .035) !important;
}

.ls-stat-icon {
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 13px !important;
    background: #fff4d8 !important;
    color: #9a6c04 !important;
    font-size: .9rem !important;
    font-weight: 900 !important;
}

.ls-stat-label {
    display: block !important;
    margin: 3px 0 5px !important;
    color: #777f88 !important;
    font-size: .66rem !important;
}

.ls-stat-card strong {
    display: block !important;
    color: #101720 !important;
    font-size: 1.55rem !important;
    line-height: 1 !important;
}

/* TITULOS DE SECAO */
.ls-section-title {
    margin: 4px 0 15px !important;
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
}

.ls-section-title h2 {
    margin: 4px 0 0 !important;
    color: #171d25 !important;
    font-size: 1.1rem !important;
    letter-spacing: -.015em !important;
}

/* ACESSO RAPIDO - ESTA ERA A PARTE QUE FICOU COMO LINK CRU */
.ls-quick-grid {
    margin-bottom: 38px !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.ls-quick-card {
    min-height: 103px !important;
    padding: 17px !important;
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
    border: 1px solid #e0e3e6 !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #1a2028 !important;
    text-decoration: none !important;
    box-shadow: 0 5px 18px rgba(24, 32, 43, .025) !important;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}

.ls-quick-card:hover {
    transform: translateY(-2px) !important;
    border-color: #d9b454 !important;
    box-shadow: 0 12px 28px rgba(24, 32, 43, .055) !important;
}

.ls-quick-icon {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 12px !important;
    background: #f6f1e4 !important;
    color: #996d06 !important;
    font-size: .92rem !important;
    font-weight: 900 !important;
}

.ls-quick-card > div {
    min-width: 0 !important;
}

.ls-quick-card strong {
    display: block !important;
    margin-bottom: 3px !important;
    color: #1b2129 !important;
    font-size: .78rem !important;
}

.ls-quick-card small {
    display: block !important;
    color: #818891 !important;
    font-size: .63rem !important;
    line-height: 1.35 !important;
}

/* PROXIMOS EVENTOS */
.inventory-title {
    margin-top: 8px !important;
}

.ls-rentals-list {
    display: grid !important;
    gap: 10px !important;
}

.ls-rental-card {
    padding: 16px 18px !important;
    border: 1px solid #e0e3e6 !important;
    border-radius: 14px !important;
    background: #fff !important;
}

.ls-rental-main {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
}

.ls-rental-main h3 {
    margin: 7px 0 3px !important;
    color: #191f27 !important;
    font-size: .87rem !important;
}

.ls-rental-main p {
    margin: 0 !important;
    color: #7b838c !important;
    font-size: .66rem !important;
}

/* ROLE CHIP */
.ls-role-chip {
    margin: 0 8px 13px !important;
    padding: 7px 10px !important;
    border-radius: 9px !important;
    background: rgba(255,255,255,.04) !important;
    border: 1px solid rgba(255,255,255,.06) !important;
    color: #8e969f !important;
}

.ls-role-chip.admin {
    color: #d7bc72 !important;
}

/* RESPONSIVO */
@media (max-width: 1120px) and (min-width: 901px) {
    .ls-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    .ls-shell {
        min-height: 100vh !important;
        background: #f4f5f7 !important;
    }

    .ls-sidebar {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        display: block !important;
        background: #0b1017 !important;
    }

    .ls-nav {
        min-height: auto !important;
        padding: 12px !important;
    }

    .ls-brand {
        margin-bottom: 10px !important;
        padding-bottom: 12px !important;
    }

    .ls-nav-links {
        display: flex !important;
        grid-template-columns: none !important;
        overflow-x: auto !important;
        gap: 5px !important;
        padding-bottom: 2px !important;
    }

    .ls-nav-link {
        flex: 0 0 auto !important;
        min-height: 38px !important;
        padding: 0 10px !important;
    }

    .ls-nav-footer,
    .ls-role-chip {
        display: none !important;
    }

    .ls-main {
        width: 100% !important;
        margin-left: 0 !important;
    }

    .ls-topbar {
        min-height: 54px !important;
        padding: 0 14px !important;
        background: #fff !important;
        border-bottom: 1px solid #e3e5e8 !important;
    }

    .ls-content {
        padding: 23px 15px 40px !important;
    }

    .ls-page-header {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .ls-page-header .ls-primary-action {
        align-self: flex-start !important;
    }

    .ls-stat-grid {
        grid-template-columns: 1fr !important;
    }

    .ls-quick-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 560px) {
    .ls-topbar-title {
        max-width: 170px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .ls-topbar-subtitle {
        display: none !important;
    }

    .ls-page-header h1 {
        font-size: 1.85rem !important;
    }

    .ls-stat-card {
        min-height: 105px !important;
    }

    .ls-quick-card {
        min-height: 92px !important;
    }
}


/* Carteira individual e ranking */
.ls-stat-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.ls-card-meta-row {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.ls-owner-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 8px;
    border: 1px solid #e7d49a;
    border-radius: 999px;
    background: #fff8e4;
    color: #80600c;
    font-size: .58rem;
    font-weight: 850;
}

.ls-ranking-highlight {
    padding: 7px 10px;
    border-radius: 999px;
    background: #fff3cf;
    color: #82600d;
    font-size: .64rem;
    font-weight: 850;
}

.ls-ranking-table {
    margin-bottom: 34px;
    overflow: hidden;
    border: 1px solid #e0e3e6;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(24, 32, 43, .03);
}

.ls-ranking-head,
.ls-ranking-row {
    display: grid;
    grid-template-columns: minmax(220px, 1.6fr) .55fr 1fr 1fr 1fr;
    gap: 14px;
    align-items: center;
}

.ls-ranking-head {
    padding: 10px 16px;
    background: #111720;
    color: #b7bec8;
    font-size: .59rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.ls-ranking-row {
    padding: 13px 16px;
    border-top: 1px solid #edf0f2;
}

.ls-ranking-row:first-of-type {
    border-top: 0;
}

.ls-ranking-row > strong {
    font-size: .73rem;
}

.ls-ranking-person {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.ls-ranking-person > div {
    min-width: 0;
}

.ls-ranking-person strong,
.ls-ranking-person small {
    display: block;
}

.ls-ranking-person strong {
    overflow: hidden;
    color: #1a2028;
    font-size: .76rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ls-ranking-person small {
    margin-top: 2px;
    overflow: hidden;
    color: #858c95;
    font-size: .59rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ls-ranking-position {
    width: 29px;
    height: 29px;
    flex: 0 0 29px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #fff4d7;
    color: #89630b;
    font-size: .65rem;
    font-weight: 900;
}

.ls-finance-ranking {
    margin-bottom: 30px;
}

@media (max-width: 1180px) {
    .ls-stat-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 820px) {
    .ls-ranking-table {
        overflow-x: auto;
    }

    .ls-ranking-head,
    .ls-ranking-row {
        min-width: 720px;
    }
}

@media (max-width: 620px) {
    .ls-stat-grid-4 {
        grid-template-columns: 1fr !important;
    }
}

/* LUMEN STAR - FOTOS E GRUPOS DO ESTOQUE */

.ls-success-message {
    margin: 0 0 18px;
    padding: 11px 13px;
    color: #246b3f;
    background: #eef9f2;
    border: 1px solid #c8e8d2;
    border-radius: 10px;
    font-size: .86rem;
}

.ls-inventory-summary-3 {
    grid-template-columns: repeat(3, minmax(0, 200px));
}

.ls-panel-header-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.ls-panel-header-row p {
    max-width: 760px;
    margin: 5px 0 0;
    color: var(--ls-muted);
    font-size: .84rem;
}

.ls-groups-panel {
    margin-bottom: 18px;
}

.ls-group-create {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: 10px;
    max-width: 680px;
}

.ls-group-create input {
    width: 100%;
    min-height: 45px;
    padding: 0 13px;
    border: 1px solid #d9dde2;
    border-radius: 11px;
    background: #fff;
    color: var(--ls-text);
    outline: none;
}

.ls-group-create input:focus {
    border-color: #cba13b;
    box-shadow: 0 0 0 3px rgba(215, 166, 42, .11);
}

.ls-secondary-action {
    min-height: 45px;
    padding: 0 17px;
    border: 1px solid #d8bd72;
    border-radius: 11px;
    background: #fff8e5;
    color: #75560b;
    font-weight: 800;
    cursor: pointer;
}

.ls-secondary-action:disabled {
    opacity: .5;
    cursor: not-allowed;
}

.ls-group-list {
    margin-top: 17px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.ls-group-chip {
    min-width: 0;
    padding: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--ls-border);
    border-radius: 13px;
    background: #f8f9fa;
}

.ls-group-icon {
    width: 35px;
    height: 35px;
    flex: 0 0 35px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #8a6611;
    background: #fff1c6;
}

.ls-group-chip-text {
    min-width: 0;
    flex: 1;
}

.ls-group-chip-text strong,
.ls-group-chip-text span {
    display: block;
}

.ls-group-chip-text strong {
    overflow: hidden;
    color: #252b33;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .88rem;
}

.ls-group-chip-text span {
    margin-top: 2px;
    color: var(--ls-muted);
    font-size: .68rem;
}

.ls-group-delete {
    padding: 6px 8px;
    border: 0;
    border-radius: 8px;
    color: #8f4f49;
    background: #fff0ee;
    font-size: .68rem;
    font-weight: 800;
    cursor: pointer;
}

.ls-group-delete.confirm {
    color: #fff;
    background: #a4362d;
}

.ls-group-delete:disabled {
    opacity: .35;
    cursor: not-allowed;
}

.ls-groups-empty,
.ls-help-text {
    margin-top: 15px;
    color: var(--ls-muted);
    font-size: .78rem;
}

.ls-stock-new-panel {
    margin-top: 18px;
}

.ls-optional {
    color: #9299a2;
    font-weight: 500;
}

.ls-photo-picker {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
}

.ls-photo-picker-button,
.ls-card-photo-button {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.ls-photo-picker-button {
    min-height: 42px;
    padding: 0 13px;
    border: 1px solid #d6b85f;
    border-radius: 10px;
    background: #fff7dc;
    color: #715307;
    font-size: .78rem;
    font-weight: 800;
}

.ls-photo-picker-button.secondary {
    border-color: #d9dde2;
    background: #f7f8fa;
    color: #4f5660;
}

.ls-photo-picker-button input[type="file"],
.ls-card-photo-button input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.ls-photo-selected {
    color: #32764a;
    font-size: .75rem;
    font-weight: 700;
}

.ls-stock-filters {
    margin: -2px 0 16px;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: thin;
}

.ls-stock-filters button {
    flex: 0 0 auto;
    padding: 8px 11px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #d9dde2;
    border-radius: 999px;
    background: #fff;
    color: #4d545e;
    font-size: .75rem;
    font-weight: 750;
    cursor: pointer;
}

.ls-stock-filters button span {
    min-width: 20px;
    padding: 2px 5px;
    border-radius: 999px;
    background: #f0f2f4;
    color: #68717c;
    text-align: center;
    font-size: .65rem;
}

.ls-stock-filters button.active {
    border-color: #d7a62a;
    background: #111720;
    color: #fff;
}

.ls-stock-filters button.active span {
    background: rgba(242, 197, 82, .16);
    color: #f2c552;
}

.ls-equipment-visual {
    overflow: hidden;
    height: 170px;
}

.ls-equipment-visual.has-photo {
    background: #111720;
}

.ls-equipment-visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.ls-photo-placeholder {
    display: grid;
    justify-items: center;
    gap: 5px;
}

.ls-photo-placeholder small {
    color: #8d96a3;
    font-size: .68rem;
}

.ls-card-photo-actions {
    margin: -4px 0 13px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.ls-card-photo-button,
.ls-card-photo-remove {
    min-height: 31px;
    padding: 0 8px;
    border: 1px solid #e0e3e7;
    border-radius: 8px;
    background: #f7f8fa;
    color: #555e69;
    font-size: .66rem;
    font-weight: 750;
}

.ls-card-photo-remove {
    cursor: pointer;
    color: #8f4f49;
    background: #fff5f3;
    border-color: #f0d6d2;
}

.ls-equipment-group-edit {
    margin: 0 0 12px;
    display: grid;
    gap: 5px;
}

.ls-equipment-group-edit label {
    color: var(--ls-muted);
    font-size: .65rem;
    font-weight: 700;
}

.ls-equipment-group-edit select {
    width: 100%;
    min-height: 35px;
    padding: 0 9px;
    border: 1px solid #e0e3e7;
    border-radius: 8px;
    background: #fff;
    color: #343b44;
    font-size: .75rem;
    outline: none;
}

.ls-equipment-group-edit select:focus {
    border-color: #cba13b;
}

@media (max-width: 1050px) {
    .ls-group-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .ls-inventory-summary-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ls-inventory-summary-3 > div {
        padding: 12px;
    }

    .ls-inventory-summary-3 strong {
        font-size: 1.15rem;
    }

    .ls-group-create,
    .ls-group-list {
        grid-template-columns: 1fr;
    }

    .ls-group-create .button {
        width: 100%;
    }

    .ls-photo-picker-button {
        flex: 1 1 150px;
    }

    .ls-equipment-visual {
        height: 210px;
    }
}

@media (max-width: 430px) {
    .ls-inventory-summary-3 {
        grid-template-columns: 1fr 1fr;
    }

    .ls-inventory-summary-3 > div:first-child {
        grid-column: span 2;
    }
}

/* LUMEN STAR - V3 MOVIMENTACAO E ARQUIVAMENTO */

.ls-group-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.ls-group-organize {
    padding: 6px 8px;
    border: 1px solid #d8bd72;
    border-radius: 8px;
    color: #715307;
    background: #fff8e5;
    font-size: .66rem;
    font-weight: 800;
    cursor: pointer;
}

.ls-group-organize:disabled {
    opacity: .45;
    cursor: not-allowed;
}

.ls-equipment-archive {
    padding: 6px 8px;
    border: 1px solid #ead8d4;
    border-radius: 8px;
    color: #8f4f49;
    background: #fff5f3;
    font-size: .66rem;
    font-weight: 800;
    cursor: pointer;
}

.ls-equipment-archive.confirm {
    border-color: #a4362d;
    color: #fff;
    background: #a4362d;
}

.ls-equipment-archive:disabled {
    opacity: .5;
    cursor: not-allowed;
}

.ls-equipment-move-box {
    padding: 10px;
    border: 1px solid #eadcae;
    border-radius: 10px;
    background: #fffaf0;
}

.ls-equipment-move-box label {
    color: #75560b;
    font-size: .72rem;
    font-weight: 850;
}

.ls-equipment-move-box small {
    color: #7d7461;
    font-size: .64rem;
    line-height: 1.35;
}

@media (max-width: 700px) {
    .ls-group-chip {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .ls-group-actions {
        width: 100%;
        justify-content: flex-end;
    }
}

/* ==========================================================
   LUMEN STAR - AGENDA OPERACIONAL
   ========================================================== */

.agenda-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 22px 0 18px;
    flex-wrap: wrap;
}

.agenda-month-nav {
    display: flex;
    align-items: center;
    gap: 14px;
}

.agenda-month-nav > div {
    min-width: 180px;
}

.agenda-month-nav strong {
    display: block;
    margin-top: 2px;
    font-size: 18px;
    text-transform: capitalize;
}

.agenda-nav-btn {
    width: 42px;
    height: 42px;
    border: 1px solid #dedede;
    border-radius: 12px;
    background: #fff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.agenda-nav-btn:hover {
    border-color: #c8a84e;
}

.agenda-toolbar-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.agenda-filter {
    border: 1px solid #dedede;
    background: #fff;
    border-radius: 999px;
    padding: 9px 14px;
    font-weight: 700;
    cursor: pointer;
}

.agenda-filter.active {
    border-color: #1e2023;
    background: #1e2023;
    color: #fff;
}

.agenda-today {
    cursor: pointer;
}

.agenda-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(310px, .75fr);
    gap: 18px;
    align-items: start;
}

.agenda-calendar-card,
.agenda-day-panel {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 18px;
    box-shadow: 0 8px 28px rgba(0,0,0,.04);
}

.agenda-calendar-card {
    padding: 16px;
}

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

.agenda-weekdays {
    padding: 0 2px 8px;
}

.agenda-weekdays span {
    padding: 7px;
    text-align: center;
    color: #777;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.agenda-calendar-grid {
    gap: 6px;
}

.agenda-day {
    position: relative;
    min-height: 88px;
    border: 1px solid #ececec;
    border-radius: 13px;
    background: #fff;
    padding: 10px;
    text-align: left;
}

button.agenda-day {
    cursor: pointer;
}

button.agenda-day:hover {
    border-color: #d7c27d;
    background: #fffdf7;
}

.agenda-day.empty {
    border-color: transparent;
    background: transparent;
}

.agenda-day.outside {
    opacity: .38;
}

.agenda-day.today {
    box-shadow: inset 0 0 0 1px #c8a84e;
}

.agenda-day.selected {
    border-color: #1e2023;
    box-shadow: inset 0 0 0 1px #1e2023;
}

.agenda-day.has-events {
    background: #fffdf8;
}

.agenda-day-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 29px;
    height: 29px;
    border-radius: 9px;
    font-weight: 800;
}

.agenda-day.today .agenda-day-number {
    background: #1e2023;
    color: #fff;
}

.agenda-day-count {
    position: absolute;
    top: 10px;
    right: 10px;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f0e6c8;
    font-size: 11px;
    font-weight: 900;
}

.agenda-day-dots {
    position: absolute;
    left: 10px;
    bottom: 10px;
    display: flex;
    gap: 5px;
}

.dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    display: inline-block;
    background: #777;
}

.dot.retirada,
.agenda-item-type.retirada,
.agenda-upcoming-marker.retirada {
    background: #c59b2f;
}

.dot.evento,
.agenda-item-type.evento,
.agenda-upcoming-marker.evento {
    background: #25282c;
}

.dot.devolucao,
.agenda-item-type.devolucao,
.agenda-upcoming-marker.devolucao {
    background: #6d8d72;
}

.dot.orcamento,
.agenda-item-type.orcamento,
.agenda-upcoming-marker.orcamento {
    background: #858585;
}

.agenda-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 20px;
    padding: 14px 4px 0;
    color: #666;
    font-size: 12px;
    font-weight: 700;
}

.agenda-legend span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.agenda-day-panel {
    padding: 18px;
    position: sticky;
    top: 82px;
}

.agenda-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid #ececec;
}

.agenda-panel-heading h2 {
    margin: 3px 0 0;
    font-size: 22px;
    text-transform: capitalize;
}

.agenda-selected-weekday {
    color: #777;
    text-transform: capitalize;
    font-size: 13px;
}

.agenda-no-events {
    min-height: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 5px;
}

.agenda-no-events > span {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #f2f2f2;
    display: grid;
    place-items: center;
    font-weight: 900;
}

.agenda-no-events small {
    color: #777;
}

.agenda-day-list {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.agenda-item {
    border: 1px solid #e9e9e9;
    border-radius: 14px;
    overflow: hidden;
}

.agenda-item-type {
    padding: 6px 10px;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.agenda-item-body {
    padding: 13px;
}

.agenda-item-top {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: flex-start;
}

.agenda-item-top h3 {
    margin: 0 0 7px;
    font-size: 16px;
}

.agenda-location {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin: 11px 0;
    color: #555;
    font-size: 13px;
}

.agenda-period {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
    margin-top: 11px;
}

.agenda-period span {
    padding: 8px;
    border-radius: 10px;
    background: #f7f7f7;
}

.agenda-period small,
.agenda-period strong {
    display: block;
}

.agenda-period small {
    color: #777;
    font-size: 10px;
    text-transform: uppercase;
    font-weight: 800;
}

.agenda-period strong {
    margin-top: 2px;
    font-size: 13px;
}

.agenda-item-actions {
    display: flex;
    gap: 7px;
    margin-top: 12px;
}

.agenda-item-actions .ls-secondary-action {
    flex: 1;
    text-align: center;
}

.agenda-upcoming-title {
    margin-top: 30px;
}

.agenda-upcoming-list {
    display: grid;
    gap: 9px;
}

.agenda-upcoming-row {
    display: grid;
    grid-template-columns: 62px 5px minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
    background: #fff;
    border: 1px solid #e7e7e7;
    border-radius: 15px;
    padding: 13px;
}

.agenda-upcoming-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: #f5f5f5;
}

.agenda-upcoming-date strong {
    font-size: 23px;
    line-height: 1;
}

.agenda-upcoming-date span {
    margin-top: 3px;
    font-size: 10px;
    font-weight: 900;
}

.agenda-upcoming-marker {
    width: 5px;
    border-radius: 99px;
}

.agenda-upcoming-info {
    min-width: 0;
}

.agenda-upcoming-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}

.agenda-upcoming-meta > strong {
    font-size: 12px;
    text-transform: uppercase;
}

.agenda-upcoming-info h3 {
    margin: 0;
    font-size: 16px;
}

.agenda-upcoming-info p {
    margin: 4px 0 0;
    color: #666;
    font-size: 13px;
}

@media (max-width: 1050px) {
    .agenda-layout {
        grid-template-columns: 1fr;
    }

    .agenda-day-panel {
        position: static;
    }
}

@media (max-width: 720px) {
    .agenda-toolbar {
        align-items: stretch;
    }

    .agenda-month-nav {
        width: 100%;
        justify-content: space-between;
    }

    .agenda-toolbar-actions {
        width: 100%;
    }

    .agenda-toolbar-actions > * {
        flex: 1;
        min-width: max-content;
    }

    .agenda-calendar-card {
        padding: 9px;
        overflow-x: auto;
    }

    .agenda-weekdays,
    .agenda-calendar-grid {
        min-width: 640px;
    }

    .agenda-day {
        min-height: 78px;
    }

    .agenda-upcoming-row {
        grid-template-columns: 52px 4px minmax(0, 1fr);
        gap: 10px;
        padding: 10px;
    }
}

/* ==========================================================
   LUMEN STAR - RELATÓRIOS DE DESEMPENHO
   ========================================================== */

.reports-period {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 22px 0 18px;
}

.reports-period > div {
    min-width: 190px;
}

.reports-period strong {
    display: block;
    margin-top: 2px;
    font-size: 18px;
    text-transform: capitalize;
}

.reports-nav {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    border: 1px solid #dedede;
    background: #fff;
    cursor: pointer;
    font-size: 28px;
    line-height: 1;
}

.reports-nav:hover {
    border-color: #c7a443;
    background: #fffdf7;
}

.reports-current {
    margin-left: 6px;
    cursor: pointer;
}

.reports-summary-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.reports-summary-card {
    min-width: 0;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 16px;
    padding: 17px;
    box-shadow: 0 8px 25px rgba(0,0,0,.035);
}

.reports-summary-card > span {
    display: block;
    color: #6d6d6d;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.reports-summary-card > strong {
    display: block;
    margin: 7px 0 4px;
    font-size: clamp(20px, 2vw, 28px);
    letter-spacing: -.03em;
}

.reports-summary-card > small {
    display: block;
    color: #858585;
    line-height: 1.35;
}

.reports-summary-card.received {
    border-top: 3px solid #698b70;
}

.reports-summary-card.pending {
    border-top: 3px solid #c49b32;
}

.reports-personal-card {
    display: flex;
    align-items: center;
    gap: 17px;
    margin-top: 18px;
    padding: 22px;
    border-radius: 17px;
    background: #1e2023;
    color: #fff;
}

.reports-personal-icon {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: #d2ad47;
    color: #151515;
    font-size: 24px;
}

.reports-personal-card .ls-eyebrow {
    color: #d2ad47;
}

.reports-personal-card h2 {
    margin: 3px 0 5px;
}

.reports-personal-card p {
    margin: 0;
    color: #d4d4d4;
}

.reports-leaders {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.reports-leaders article {
    background: linear-gradient(135deg, #1e2023, #292c30);
    color: #fff;
    padding: 20px;
    border-radius: 16px;
}

.reports-leaders .ls-eyebrow {
    color: #d2ad47;
}

.reports-leaders strong {
    display: block;
    margin: 5px 0 3px;
    font-size: 20px;
}

.reports-leaders small {
    color: #c9c9c9;
}

.reports-ranking-title {
    margin-top: 28px;
}

.reports-table {
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 16px;
    overflow: hidden;
}

.reports-table-head,
.reports-table-row {
    display: grid;
    grid-template-columns:
        minmax(220px, 1.5fr)
        .55fr
        .85fr
        .85fr
        .85fr
        .85fr;
    gap: 12px;
    align-items: center;
}

.reports-table-head {
    padding: 11px 15px;
    background: #f4f4f4;
    color: #686868;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.reports-table-row {
    min-height: 68px;
    padding: 11px 15px;
    border-top: 1px solid #ededed;
}

.reports-person {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.reports-person > div {
    min-width: 0;
}

.reports-person strong,
.reports-person small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reports-person small {
    margin-top: 2px;
    color: #858585;
}

.reports-position {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #f2e7c5;
    font-size: 11px;
    font-weight: 900;
}

.reports-note {
    margin-top: 13px;
    padding: 13px 15px;
    border-radius: 12px;
    background: #f5f5f5;
    color: #656565;
    font-size: 12px;
    line-height: 1.5;
}

@media (max-width: 1120px) {
    .reports-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .reports-table {
        overflow-x: auto;
    }

    .reports-table-head,
    .reports-table-row {
        min-width: 900px;
    }
}

@media (max-width: 720px) {
    .reports-period {
        flex-wrap: wrap;
    }

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

    .reports-leaders {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .reports-summary-grid {
        grid-template-columns: 1fr;
    }
}
