:root{
    --app-bg:#f6f4ef;
    --app-surface:#ffffff;
    --app-ink:#151515;
    --app-muted:#6b665f;
    --app-line:rgba(20,20,20,.08);
    --app-soft:#ede8dd;
    --app-accent:#111;
    --app-radius:22px;
    --app-shadow:0 18px 50px rgba(0,0,0,.08);
}

html{
    background:var(--app-bg);
    -webkit-font-smoothing:antialiased;
}

body{
    background:
        radial-gradient(circle at top left, rgba(255,255,255,.9), transparent 32rem),
        linear-gradient(180deg,#fbfaf7 0%,var(--app-bg) 100%) !important;
    color:var(--app-ink);
}

a{
    color:inherit;
}

main,
.container,
.content,
.page,
.wrapper{
    max-width:1180px;
}

table{
    border-collapse:separate !important;
    border-spacing:0 10px !important;
}

thead{
    opacity:.72;
}

tbody tr{
    background:var(--app-surface);
    box-shadow:0 8px 28px rgba(0,0,0,.045);
    border-radius:18px;
}

tbody td{
    border-top:1px solid var(--app-line);
    border-bottom:1px solid var(--app-line);
}

tbody td:first-child{
    border-left:1px solid var(--app-line);
    border-radius:18px 0 0 18px;
}

tbody td:last-child{
    border-right:1px solid var(--app-line);
    border-radius:0 18px 18px 0;
}

.button,
button,
input[type="submit"],
a.button{
    border-radius:999px !important;
    min-height:42px;
    font-weight:800 !important;
    letter-spacing:-.01em;
    box-shadow:0 10px 28px rgba(0,0,0,.08);
}

input,
select,
textarea{
    border-radius:16px !important;
    border:1px solid var(--app-line) !important;
    min-height:42px;
    background:#fff !important;
}

.card,
.panel,
.box,
section,
form{
    border-radius:var(--app-radius);
}

.alert,
.status,
.badge,
.chip,
[class*="badge"],
[class*="status"]{
    border-radius:999px !important;
}

.mobile-shell{
    padding-bottom:96px !important;
}

.mobile-topbar{
    position:sticky;
    top:0;
    z-index:90;
    display:none;
    padding:12px 14px;
    backdrop-filter:blur(18px);
    background:rgba(246,244,239,.82);
    border-bottom:1px solid var(--app-line);
}

.mobile-topbar__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.mobile-brand{
    display:flex;
    flex-direction:column;
    line-height:1.05;
}

.mobile-brand strong{
    font-size:17px;
    letter-spacing:-.04em;
}

.mobile-brand span{
    font-size:11px;
    color:var(--app-muted);
    text-transform:uppercase;
    font-weight:800;
    letter-spacing:.08em;
}

.mobile-pulse{
    width:42px;
    height:42px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#111;
    color:#fff;
    font-weight:900;
    box-shadow:0 14px 34px rgba(0,0,0,.2);
}

.mobile-bottom-nav{
    position:fixed;
    left:50%;
    bottom:14px;
    transform:translateX(-50%);
    z-index:1000;
    width:min(560px,calc(100vw - 18px));
    display:none;
    grid-template-columns:repeat(5,1fr);
    gap:6px;
    padding:8px;
    border-radius:28px;
    background:rgba(20,20,20,.88);
    backdrop-filter:blur(22px);
    box-shadow:0 22px 70px rgba(0,0,0,.32);
}

.mobile-bottom-nav a{
    color:#fff;
    text-decoration:none;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    min-height:54px;
    border-radius:21px;
    font-size:10px;
    font-weight:800;
    opacity:.78;
}

.mobile-bottom-nav a span:first-child{
    font-size:20px;
}

.mobile-bottom-nav a.is-active,
.mobile-bottom-nav a:hover{
    background:rgba(255,255,255,.16);
    opacity:1;
}

.mobile-bottom-nav a.mobile-main-action{
    background:#fff;
    color:#111;
    transform:translateY(-10px);
    min-height:62px;
    box-shadow:0 16px 36px rgba(0,0,0,.28);
}

.mobile-loader-overlay{
    position:fixed;
    inset:0;
    z-index:5000;
    display:none;
    align-items:center;
    justify-content:center;
    background:rgba(246,244,239,.88);
    backdrop-filter:blur(18px);
}

.mobile-loader-card{
    width:min(360px,calc(100vw - 32px));
    background:#fff;
    border-radius:30px;
    padding:24px;
    box-shadow:var(--app-shadow);
    text-align:center;
}

.mobile-loader-spinner{
    width:56px;
    height:56px;
    border-radius:50%;
    border:5px solid #eee;
    border-top-color:#111;
    margin:0 auto 16px;
    animation:mobileSpin .8s linear infinite;
}

.mobile-loader-card strong{
    display:block;
    font-size:20px;
    letter-spacing:-.04em;
    margin-bottom:6px;
}

.mobile-loader-card p{
    margin:0;
    color:var(--app-muted);
    font-size:14px;
}

@keyframes mobileSpin{
    to{transform:rotate(360deg)}
}

.mobile-cardify{
    display:grid !important;
    gap:12px !important;
}

.mobile-table-card{
    background:#fff;
    border-radius:22px;
    padding:14px;
    box-shadow:0 14px 38px rgba(0,0,0,.07);
    border:1px solid var(--app-line);
}

.mobile-table-card__row{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:8px 0;
    border-bottom:1px solid var(--app-line);
}

.mobile-table-card__row:last-child{
    border-bottom:0;
}

.mobile-table-card__label{
    color:var(--app-muted);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.mobile-table-card__value{
    text-align:right;
    font-weight:750;
    max-width:64%;
    overflow-wrap:anywhere;
}

@media (max-width: 820px){
    body{
        font-size:15px;
    }

    body.mobile-enhanced{
        padding-bottom:100px;
    }

    .mobile-topbar,
    .mobile-bottom-nav{
        display:block;
    }

    .mobile-bottom-nav{
        display:grid;
    }

    main,
    .container,
    .content,
    .page,
    .wrapper{
        width:100% !important;
        max-width:100% !important;
        padding-left:14px !important;
        padding-right:14px !important;
    }

    h1{
        font-size:30px !important;
        letter-spacing:-.06em !important;
        line-height:1.02 !important;
        margin-bottom:14px !important;
    }

    h2{
        font-size:22px !important;
        letter-spacing:-.045em !important;
    }

    .desktop-only,
    nav:not(.mobile-bottom-nav),
    aside{
        max-width:100%;
    }

    table.mobile-cardified{
        display:none !important;
    }

    .button,
    button,
    input[type="submit"],
    a.button{
        min-height:46px;
        padding-left:18px !important;
        padding-right:18px !important;
    }

    form{
        gap:12px;
    }

    input,
    select,
    textarea{
        width:100%;
        min-height:48px;
        font-size:16px !important;
    }

    .grid,
    [class*="grid"]{
        grid-template-columns:1fr !important;
    }
}

@media (min-width: 821px){
    .mobile-table-cards{
        display:none !important;
    }
}

/* === APPLE POLISH V2 === */
:root{
    --apple-bg:#f5f5f7;
    --apple-card:rgba(255,255,255,.74);
    --apple-card-solid:#ffffff;
    --apple-text:#1d1d1f;
    --apple-muted:#86868b;
    --apple-#111113:#0071e3;
    --apple-green:#34c759;
    --apple-red:#ff3b30;
    --apple-line:rgba(0,0,0,.075);
    --apple-blur:saturate(180%) blur(24px);
    --apple-shadow:0 24px 70px rgba(0,0,0,.08);
    --apple-shadow-soft:0 10px 30px rgba(0,0,0,.055);
}

html,
body{
    background:
        radial-gradient(circle at 20% 0%, rgba(255,255,255,.95), transparent 30rem),
        radial-gradient(circle at 90% 8%, rgba(220,235,255,.7), transparent 24rem),
        linear-gradient(180deg,#fbfbfd 0%,var(--apple-bg) 100%) !important;
    color:var(--apple-text) !important;
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Inter","Segoe UI",sans-serif !important;
}

h1,h2,h3{
    color:var(--apple-text);
    font-weight:800 !important;
    letter-spacing:-.055em !important;
}

p,
td,
th,
label,
small{
    letter-spacing:-.015em;
}

.mobile-topbar{
    background:rgba(245,245,247,.72) !important;
    backdrop-filter:var(--apple-blur);
    -webkit-backdrop-filter:var(--apple-blur);
    border-bottom:1px solid rgba(0,0,0,.06);
}

.mobile-brand strong{
    font-size:18px;
    font-weight:850;
}

.mobile-brand span{
    color:var(--apple-muted);
    font-size:10px;
    letter-spacing:.11em;
}

.mobile-pulse{
    background:linear-gradient(180deg,#2b2b2f,#050505);
    box-shadow:0 18px 38px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.18);
}

.mobile-bottom-nav{
    background:rgba(255,255,255,.72) !important;
    backdrop-filter:var(--apple-blur);
    -webkit-backdrop-filter:var(--apple-blur);
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 22px 60px rgba(0,0,0,.16);
}

.mobile-bottom-nav a{
    color:var(--apple-text) !important;
    opacity:.62;
    font-weight:750;
}

.mobile-bottom-nav a span:first-child{
    font-size:21px;
    filter:grayscale(.15);
}

.mobile-bottom-nav a.is-active,
.mobile-bottom-nav a:hover{
    background:rgba(0,113,227,.10) !important;
    color:var(--apple-#111113) !important;
    opacity:1;
}

.mobile-bottom-nav a.mobile-main-action{
    background:linear-gradient(180deg,#111113,#0071e3) !important;
    color:#fff !important;
    box-shadow:0 18px 38px rgba(0,113,227,.32), inset 0 1px 0 rgba(255,255,255,.28);
}

.card,
.panel,
.box,
section,
form,
.mobile-table-card,
tbody tr{
    background:var(--apple-card) !important;
    backdrop-filter:var(--apple-blur);
    -webkit-backdrop-filter:var(--apple-blur);
    border:1px solid rgba(255,255,255,.7) !important;
    box-shadow:var(--apple-shadow-soft) !important;
}

.card:hover,
.panel:hover,
.box:hover,
.mobile-table-card:hover,
tbody tr:hover{
    transform:translateY(-1px);
    box-shadow:var(--apple-shadow) !important;
    transition:all .18s ease;
}

.button,
button,
input[type="submit"],
a.button{
    background:linear-gradient(180deg,#1f1f22,#050505) !important;
    color:#fff !important;
    border:0 !important;
    box-shadow:0 12px 26px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.14) !important;
    transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
a.button:hover{
    transform:translateY(-1px);
    box-shadow:0 18px 38px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.button.secondary,
button.secondary,
a.button.secondary{
    background:rgba(255,255,255,.74) !important;
    color:var(--apple-text) !important;
    border:1px solid rgba(0,0,0,.08) !important;
    box-shadow:0 8px 24px rgba(0,0,0,.055) !important;
}

input,
select,
textarea{
    background:rgba(255,255,255,.82) !important;
    border:1px solid rgba(0,0,0,.08) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 8px 22px rgba(0,0,0,.035);
    color:var(--apple-text);
}

input:focus,
select:focus,
textarea:focus{
    outline:none !important;
    border-color:rgba(0,113,227,.55) !important;
    box-shadow:0 0 0 4px rgba(0,113,227,.14), 0 10px 26px rgba(0,0,0,.05) !important;
}

table.mobile-cardified + .mobile-table-cards .mobile-table-card{
    background:rgba(255,255,255,.78) !important;
}

.mobile-table-card__label{
    color:var(--apple-muted);
    font-size:11px;
    letter-spacing:.08em;
}

.mobile-table-card__value{
    color:var(--apple-text);
    font-weight:720;
}

.badge,
.chip,
[class*="badge"],
[class*="status"]{
    background:rgba(0,113,227,.10) !important;
    color:var(--apple-#111113) !important;
    border:1px solid rgba(0,113,227,.14) !important;
    font-weight:800 !important;
}

.mobile-loader-overlay{
    background:rgba(245,245,247,.78) !important;
    backdrop-filter:var(--apple-blur);
    -webkit-backdrop-filter:var(--apple-blur);
}

.mobile-loader-card{
    background:rgba(255,255,255,.84) !important;
    border:1px solid rgba(255,255,255,.75);
    box-shadow:0 30px 90px rgba(0,0,0,.18);
}

.mobile-loader-spinner{
    border-color:rgba(0,0,0,.08);
    border-top-color:var(--apple-#111113);
}

@media (max-width:820px){
    h1{
        font-size:34px !important;
        line-height:.98 !important;
    }

    main,
    .container,
    .content,
    .page,
    .wrapper{
        padding-left:16px !important;
        padding-right:16px !important;
    }

    .card,
    .panel,
    .box,
    section,
    form{
        border-radius:28px !important;
    }

    .mobile-table-card{
        border-radius:28px !important;
        padding:16px !important;
    }

    .button,
    button,
    input[type="submit"],
    a.button{
        min-height:50px;
        border-radius:999px !important;
        font-size:15px !important;
    }
}

/* === APPLE POLISH V2 === */
:root{
    --apple-bg:#f5f5f7;
    --apple-card:rgba(255,255,255,.74);
    --apple-card-solid:#ffffff;
    --apple-text:#1d1d1f;
    --apple-muted:#86868b;
    --apple-#111113:#0071e3;
    --apple-green:#34c759;
    --apple-red:#ff3b30;
    --apple-line:rgba(0,0,0,.075);
    --apple-blur:saturate(180%) blur(24px);
    --apple-shadow:0 24px 70px rgba(0,0,0,.08);
    --apple-shadow-soft:0 10px 30px rgba(0,0,0,.055);
}

html,
body{
    background:
        radial-gradient(circle at 20% 0%, rgba(255,255,255,.95), transparent 30rem),
        radial-gradient(circle at 90% 8%, rgba(220,235,255,.7), transparent 24rem),
        linear-gradient(180deg,#fbfbfd 0%,var(--apple-bg) 100%) !important;
    color:var(--apple-text) !important;
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Inter","Segoe UI",sans-serif !important;
}

h1,h2,h3{
    color:var(--apple-text);
    font-weight:800 !important;
    letter-spacing:-.055em !important;
}

p,
td,
th,
label,
small{
    letter-spacing:-.015em;
}

.mobile-topbar{
    background:rgba(245,245,247,.72) !important;
    backdrop-filter:var(--apple-blur);
    -webkit-backdrop-filter:var(--apple-blur);
    border-bottom:1px solid rgba(0,0,0,.06);
}

.mobile-brand strong{
    font-size:18px;
    font-weight:850;
}

.mobile-brand span{
    color:var(--apple-muted);
    font-size:10px;
    letter-spacing:.11em;
}

.mobile-pulse{
    background:linear-gradient(180deg,#2b2b2f,#050505);
    box-shadow:0 18px 38px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.18);
}

.mobile-bottom-nav{
    background:rgba(255,255,255,.72) !important;
    backdrop-filter:var(--apple-blur);
    -webkit-backdrop-filter:var(--apple-blur);
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 22px 60px rgba(0,0,0,.16);
}

.mobile-bottom-nav a{
    color:var(--apple-text) !important;
    opacity:.62;
    font-weight:750;
}

.mobile-bottom-nav a span:first-child{
    font-size:21px;
    filter:grayscale(.15);
}

.mobile-bottom-nav a.is-active,
.mobile-bottom-nav a:hover{
    background:rgba(0,113,227,.10) !important;
    color:var(--apple-#111113) !important;
    opacity:1;
}

.mobile-bottom-nav a.mobile-main-action{
    background:linear-gradient(180deg,#111113,#0071e3) !important;
    color:#fff !important;
    box-shadow:0 18px 38px rgba(0,113,227,.32), inset 0 1px 0 rgba(255,255,255,.28);
}

.card,
.panel,
.box,
section,
form,
.mobile-table-card,
tbody tr{
    background:var(--apple-card) !important;
    backdrop-filter:var(--apple-blur);
    -webkit-backdrop-filter:var(--apple-blur);
    border:1px solid rgba(255,255,255,.7) !important;
    box-shadow:var(--apple-shadow-soft) !important;
}

.card:hover,
.panel:hover,
.box:hover,
.mobile-table-card:hover,
tbody tr:hover{
    transform:translateY(-1px);
    box-shadow:var(--apple-shadow) !important;
    transition:all .18s ease;
}

.button,
button,
input[type="submit"],
a.button{
    background:linear-gradient(180deg,#1f1f22,#050505) !important;
    color:#fff !important;
    border:0 !important;
    box-shadow:0 12px 26px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.14) !important;
    transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
a.button:hover{
    transform:translateY(-1px);
    box-shadow:0 18px 38px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.button.secondary,
button.secondary,
a.button.secondary{
    background:rgba(255,255,255,.74) !important;
    color:var(--apple-text) !important;
    border:1px solid rgba(0,0,0,.08) !important;
    box-shadow:0 8px 24px rgba(0,0,0,.055) !important;
}

input,
select,
textarea{
    background:rgba(255,255,255,.82) !important;
    border:1px solid rgba(0,0,0,.08) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 8px 22px rgba(0,0,0,.035);
    color:var(--apple-text);
}

input:focus,
select:focus,
textarea:focus{
    outline:none !important;
    border-color:rgba(0,113,227,.55) !important;
    box-shadow:0 0 0 4px rgba(0,113,227,.14), 0 10px 26px rgba(0,0,0,.05) !important;
}

table.mobile-cardified + .mobile-table-cards .mobile-table-card{
    background:rgba(255,255,255,.78) !important;
}

.mobile-table-card__label{
    color:var(--apple-muted);
    font-size:11px;
    letter-spacing:.08em;
}

.mobile-table-card__value{
    color:var(--apple-text);
    font-weight:720;
}

.badge,
.chip,
[class*="badge"],
[class*="status"]{
    background:rgba(0,113,227,.10) !important;
    color:var(--apple-#111113) !important;
    border:1px solid rgba(0,113,227,.14) !important;
    font-weight:800 !important;
}

.mobile-loader-overlay{
    background:rgba(245,245,247,.78) !important;
    backdrop-filter:var(--apple-blur);
    -webkit-backdrop-filter:var(--apple-blur);
}

.mobile-loader-card{
    background:rgba(255,255,255,.84) !important;
    border:1px solid rgba(255,255,255,.75);
    box-shadow:0 30px 90px rgba(0,0,0,.18);
}

.mobile-loader-spinner{
    border-color:rgba(0,0,0,.08);
    border-top-color:var(--apple-#111113);
}

@media (max-width:820px){
    h1{
        font-size:34px !important;
        line-height:.98 !important;
    }

    main,
    .container,
    .content,
    .page,
    .wrapper{
        padding-left:16px !important;
        padding-right:16px !important;
    }

    .card,
    .panel,
    .box,
    section,
    form{
        border-radius:28px !important;
    }

    .mobile-table-card{
        border-radius:28px !important;
        padding:16px !important;
    }

    .button,
    button,
    input[type="submit"],
    a.button{
        min-height:50px;
        border-radius:999px !important;
        font-size:15px !important;
    }
}

/* === APPLE GRAPHITE FINAL PASS === */
:root{
    --apple-#111113:#111111;
    --apple-accent:#111111;
    --apple-focus:rgba(0,0,0,.18);
    --apple-ring:rgba(0,0,0,.14);
    --apple-graphite:#111113;
    --apple-graphite-2:#1d1d1f;
    --apple-muted:#6e6e73;
    --apple-soft:#f5f5f7;
    --apple-soft-2:#fbfbfd;
    --apple-line:rgba(0,0,0,.08);
    --apple-glass:rgba(255,255,255,.78);
    --apple-glass-strong:rgba(255,255,255,.92);
}

body{
    background:
        radial-gradient(circle at 20% -10%, rgba(255,255,255,.95), transparent 36%),
        radial-gradient(circle at 90% 0%, rgba(230,230,235,.8), transparent 34%),
        linear-gradient(180deg, #fbfbfd 0%, #f5f5f7 48%, #efeff1 100%) !important;
    color:#111113 !important;
}

/* matar azul visual */
a,
.link,
.text-primary,
[class*="text-#111113"],
[class*="bg-#111113"]{
    color:#111113 !important;
}

button,
.button,
.btn,
input[type="submit"],
.action-button{
    border-radius:16px !important;
    border:1px solid rgba(0,0,0,.10) !important;
    background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(242,242,244,.92)) !important;
    color:#111113 !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,.9) inset,
        0 10px 26px rgba(0,0,0,.08) !important;
    font-weight:700 !important;
    letter-spacing:-.01em !important;
    transition:transform .16s ease, box-shadow .16s ease, background .16s ease !important;
}

button:hover,
.button:hover,
.btn:hover,
input[type="submit"]:hover,
.action-button:hover{
    transform:translateY(-1px) !important;
    background:linear-gradient(180deg, #ffffff, #eeeeef) !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,1) inset,
        0 16px 36px rgba(0,0,0,.12) !important;
}

button:active,
.button:active,
.btn:active,
input[type="submit"]:active,
.action-button:active{
    transform:translateY(0) scale(.985) !important;
}

.button.primary,
.btn-primary,
button.primary,
.primary-button{
    background:linear-gradient(180deg, #2a2a2d, #111113) !important;
    color:#fff !important;
    border-color:rgba(255,255,255,.08) !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,.14) inset,
        0 18px 42px rgba(0,0,0,.22) !important;
}

.button.secondary,
.btn-secondary,
.documents-danger-link{
    background:rgba(255,255,255,.78) !important;
    color:#1d1d1f !important;
}

/* cards premium */
.card,
.panel,
.box,
.table-card,
.dashboard-card,
.purchase-card,
.invoice-card,
.stat-card,
[class*="card"]{
    background:rgba(255,255,255,.82) !important;
    border:1px solid rgba(0,0,0,.075) !important;
    border-radius:24px !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,.95) inset,
        0 18px 50px rgba(0,0,0,.075) !important;
    backdrop-filter:blur(22px) saturate(1.35) !important;
    -webkit-backdrop-filter:blur(22px) saturate(1.35) !important;
}

/* inputs Apple */
input,
select,
textarea{
    border-radius:15px !important;
    border:1px solid rgba(0,0,0,.10) !important;
    background:rgba(255,255,255,.88) !important;
    color:#111113 !important;
    box-shadow:0 1px 0 rgba(255,255,255,.9) inset !important;
}

input:focus,
select:focus,
textarea:focus{
    outline:none !important;
    border-color:rgba(0,0,0,.28) !important;
    box-shadow:
        0 0 0 4px rgba(0,0,0,.08),
        0 1px 0 rgba(255,255,255,.95) inset !important;
}

/* badges sin azul */
.badge,
.status,
.pill,
.chip,
.tag,
[class*="badge"],
[class*="pill"],
[class*="chip"]{
    border-radius:999px !important;
    background:rgba(245,245,247,.92) !important;
    color:#1d1d1f !important;
    border:1px solid rgba(0,0,0,.08) !important;
    box-shadow:0 1px 0 rgba(255,255,255,.85) inset !important;
}

/* success/warning/error más sobrios */
.success,
.badge-success,
.status-success,
.alert-success{
    background:rgba(236,246,238,.92) !important;
    color:#1f3b25 !important;
    border-color:rgba(31,59,37,.12) !important;
}

.warning,
.badge-warning,
.status-warning,
.alert-warning{
    background:rgba(250,246,234,.95) !important;
    color:#5a4520 !important;
    border-color:rgba(90,69,32,.14) !important;
}

.danger,
.badge-danger,
.status-danger,
.alert-danger,
.error{
    background:rgba(252,239,239,.95) !important;
    color:#5a1f1f !important;
    border-color:rgba(90,31,31,.13) !important;
}

/* tablas más iPad Pro */
table{
    border-collapse:separate !important;
    border-spacing:0 8px !important;
}

thead th{
    color:#6e6e73 !important;
    font-size:.78rem !important;
    text-transform:uppercase !important;
    letter-spacing:.06em !important;
    border:0 !important;
}

tbody tr{
    background:rgba(255,255,255,.74) !important;
    box-shadow:0 8px 24px rgba(0,0,0,.045) !important;
}

tbody td{
    border-top:1px solid rgba(0,0,0,.045) !important;
    border-bottom:1px solid rgba(0,0,0,.045) !important;
}

/* header/nav graphite */
header,
.navbar,
.topbar,
.app-header,
.mobile-topbar{
    background:rgba(251,251,253,.82) !important;
    border-bottom:1px solid rgba(0,0,0,.07) !important;
    backdrop-filter:blur(24px) saturate(1.45) !important;
    -webkit-backdrop-filter:blur(24px) saturate(1.45) !important;
}

nav a,
.nav a,
.navbar a{
    color:#1d1d1f !important;
}

nav a.active,
.nav a.active,
.navbar a.active{
    background:#111113 !important;
    color:#fff !important;
}

/* mobile: sensación app nativa */
@media (max-width: 768px){
    body{
        font-size:15px !important;
        letter-spacing:-.01em !important;
    }

    .card,
    .panel,
    .box,
    [class*="card"]{
        border-radius:22px !important;
    }

    button,
    .button,
    .btn{
        min-height:46px !important;
        padding:12px 16px !important;
    }

    input,
    select,
    textarea{
        min-height:46px !important;
    }

    table,
    thead,
    tbody,
    tr,
    td,
    th{
        max-width:100% !important;
    }
}

/* polish: menos ruido visual */
hr{
    border:0 !important;
    border-top:1px solid rgba(0,0,0,.07) !important;
}

::selection{
    background:#111113 !important;
    color:#fff !important;
}

/* =========================================================
   MILITARY GREEN / APPLE INDUSTRIAL SYSTEM
========================================================= */

:root{
    --military-900:#1f241b;
    --military-800:#2f3527;
    --military-700:#3f4632;
    --military-600:#55624c;
    --military-500:#626b52;

    --graphite:#111113;
    --graphite-2:#1d1d1f;

    --paper:#f5f5f7;
    --paper-2:#fbfbfd;

    --line:rgba(17,17,19,.08);

    --glass:rgba(255,255,255,.78);
    --glass-strong:rgba(255,255,255,.92);

    --shadow-soft:0 10px 34px rgba(17,17,19,.07);
    --shadow-medium:0 18px 50px rgba(17,17,19,.10);
    --shadow-hard:0 30px 80px rgba(17,17,19,.16);
}

/* === BASE === */

body{
    background:
        radial-gradient(circle at top left, rgba(98,107,82,.10), transparent 28%),
        radial-gradient(circle at top right, rgba(63,70,50,.08), transparent 22%),
        linear-gradient(180deg,#fbfbfd 0%,#f5f5f7 50%,#efeff1 100%) !important;

    color:var(--graphite) !important;
}

/* === TOPBAR / HEADER === */

header,
.navbar,
.topbar,
.app-header,
.mobile-topbar{
    background:rgba(251,251,253,.78) !important;

    backdrop-filter:blur(24px) saturate(1.4) !important;
    -webkit-backdrop-filter:blur(24px) saturate(1.4) !important;

    border-bottom:1px solid rgba(17,17,19,.06) !important;

    box-shadow:
        0 1px 0 rgba(255,255,255,.85) inset,
        0 8px 28px rgba(17,17,19,.05) !important;
}

/* === NAV ACTIVE === */

nav a.active,
.nav a.active,
.navbar a.active{
    background:linear-gradient(
        180deg,
        var(--military-600),
        var(--military-800)
    ) !important;

    color:white !important;

    border-radius:14px !important;

    box-shadow:
        0 1px 0 rgba(255,255,255,.12) inset,
        0 10px 26px rgba(47,53,39,.30) !important;
}

/* === CARDS === */

.card,
.panel,
.box,
.dashboard-card,
.invoice-card,
.purchase-card,
.stat-card,
[class*="card"]{

    background:rgba(255,255,255,.82) !important;

    backdrop-filter:blur(24px) saturate(1.35) !important;
    -webkit-backdrop-filter:blur(24px) saturate(1.35) !important;

    border:1px solid rgba(17,17,19,.06) !important;

    border-radius:26px !important;

    box-shadow:
        0 1px 0 rgba(255,255,255,.95) inset,
        var(--shadow-soft) !important;

    transition:
        transform .18s ease,
        box-shadow .18s ease !important;
}

.card:hover,
.panel:hover,
.box:hover,
.dashboard-card:hover,
.invoice-card:hover{
    transform:translateY(-2px);

    box-shadow:
        0 1px 0 rgba(255,255,255,.95) inset,
        var(--shadow-medium) !important;
}

/* === BUTTONS === */

button,
.button,
.btn,
input[type="submit"]{

    border-radius:16px !important;

    border:1px solid rgba(17,17,19,.08) !important;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.96),
            rgba(244,244,245,.92)
        ) !important;

    color:var(--graphite) !important;

    font-weight:700 !important;

    letter-spacing:-0.01em !important;

    box-shadow:
        0 1px 0 rgba(255,255,255,.92) inset,
        0 10px 26px rgba(17,17,19,.08) !important;

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        background .15s ease !important;
}

button:hover,
.button:hover,
.btn:hover{
    transform:translateY(-1px);

    box-shadow:
        0 1px 0 rgba(255,255,255,1) inset,
        0 18px 38px rgba(17,17,19,.12) !important;
}

button:active,
.button:active,
.btn:active{
    transform:scale(.985);
}

/* === PRIMARY BUTTONS === */

.btn-primary,
.button.primary,
button.primary,
.primary-button{

    background:
        linear-gradient(
            180deg,
            var(--military-600),
            var(--military-800)
        ) !important;

    color:white !important;

    border-color:rgba(255,255,255,.08) !important;

    box-shadow:
        0 1px 0 rgba(255,255,255,.12) inset,
        0 18px 44px rgba(47,53,39,.28) !important;
}

/* === INPUTS === */

input,
select,
textarea{

    background:rgba(255,255,255,.88) !important;

    border-radius:15px !important;

    border:1px solid rgba(17,17,19,.08) !important;

    color:var(--graphite) !important;

    box-shadow:
        0 1px 0 rgba(255,255,255,.90) inset !important;
}

input:focus,
select:focus,
textarea:focus{

    outline:none !important;

    border-color:rgba(85,98,76,.55) !important;

    box-shadow:
        0 0 0 4px rgba(85,98,76,.12),
        0 1px 0 rgba(255,255,255,.95) inset !important;
}

/* === TABLES === */

table{
    border-collapse:separate !important;
    border-spacing:0 8px !important;
}

thead th{
    color:#6e6e73 !important;

    font-size:.78rem !important;

    text-transform:uppercase !important;

    letter-spacing:.06em !important;

    border:0 !important;
}

tbody tr{

    background:rgba(255,255,255,.76) !important;

    box-shadow:
        0 8px 22px rgba(17,17,19,.04) !important;
}

tbody td{

    border-top:1px solid rgba(17,17,19,.04) !important;
    border-bottom:1px solid rgba(17,17,19,.04) !important;
}

/* === BADGES === */

.badge,
.chip,
.pill,
.tag,
.status{

    background:rgba(245,245,247,.92) !important;

    color:var(--military-800) !important;

    border:1px solid rgba(85,98,76,.10) !important;

    border-radius:999px !important;

    box-shadow:
        0 1px 0 rgba(255,255,255,.85) inset !important;
}

/* === SUCCESS / WARNING / ERROR === */

.success,
.badge-success,
.status-success,
.alert-success{

    background:rgba(232,240,231,.95) !important;

    color:var(--military-800) !important;

    border-color:rgba(85,98,76,.18) !important;
}

.warning,
.badge-warning,
.alert-warning{

    background:rgba(248,244,228,.96) !important;

    color:#5b4d27 !important;

    border-color:rgba(91,77,39,.12) !important;
}

.danger,
.error,
.badge-danger,
.alert-danger{

    background:rgba(250,236,236,.96) !important;

    color:#6a2525 !important;

    border-color:rgba(106,37,37,.12) !important;
}

/* === LINKS === */

a{
    color:var(--military-700) !important;
}

a:hover{
    color:var(--military-600) !important;
}

/* === MOBILE NATIVE FEEL === */

@media (max-width:768px){

    body{
        font-size:15px !important;
        letter-spacing:-0.01em !important;
    }

    .card,
    .panel,
    .box{
        border-radius:24px !important;
    }

    button,
    .button,
    .btn{
        min-height:48px !important;
        padding:12px 18px !important;
    }

    input,
    select,
    textarea{
        min-height:48px !important;
    }

    .mobile-topbar{
        padding-top:max(env(safe-area-inset-top),12px) !important;
    }
}

/* === SELECTION === */

::selection{
    background:var(--military-700) !important;
    color:white !important;
}


/* HARD_KILL_BLUE_TAP_STATE_START */
.mobile-bottom-nav,
.mobile-bottom-nav *,
.role-aware-bottom-nav,
.role-aware-bottom-nav *{
    -webkit-tap-highlight-color: transparent !important;
}

.mobile-bottom-nav a,
.role-aware-bottom-nav a{
    background-color: transparent !important;
    outline: none !important;
    box-shadow: none;
    transition: color .12s ease, opacity .12s ease, transform .12s ease, box-shadow .12s ease !important;
}

.mobile-bottom-nav a:hover,
.mobile-bottom-nav a:active,
.mobile-bottom-nav a:focus,
.mobile-bottom-nav a:focus-visible,
.mobile-bottom-nav a.is-active,
.role-aware-bottom-nav a:hover,
.role-aware-bottom-nav a:active,
.role-aware-bottom-nav a:focus,
.role-aware-bottom-nav a:focus-visible,
.role-aware-bottom-nav a.is-active{
    background: var(--app-accent-soft, rgba(255,255,255,.16)) !important;
    background-color: var(--app-accent-soft, rgba(255,255,255,.16)) !important;
    color: var(--app-accent-text, #111) !important;
    outline: none !important;
    box-shadow: 0 10px 26px color-mix(in srgb, var(--app-accent-dark, #777) 18%, transparent) !important;
}

.mobile-bottom-nav a.mobile-main-action,
.mobile-bottom-nav a.mobile-main-action:hover,
.mobile-bottom-nav a.mobile-main-action:active,
.mobile-bottom-nav a.mobile-main-action:focus,
.mobile-bottom-nav a.mobile-main-action:focus-visible,
.mobile-bottom-nav a.mobile-main-action.is-active,
.role-aware-bottom-nav a.mobile-main-action,
.role-aware-bottom-nav a.mobile-main-action:hover,
.role-aware-bottom-nav a.mobile-main-action:active,
.role-aware-bottom-nav a.mobile-main-action:focus,
.role-aware-bottom-nav a.mobile-main-action:focus-visible,
.role-aware-bottom-nav a.mobile-main-action.is-active{
    background: var(--app-accent, #a8b36a) !important;
    background-color: var(--app-accent, #a8b36a) !important;
    color: var(--app-accent-text, #34371f) !important;
    box-shadow: 0 16px 36px color-mix(in srgb, var(--app-accent-dark, #737d3d) 28%, transparent) !important;
}

.mobile-bottom-nav a span:first-child,
.mobile-bottom-nav a:hover span:first-child,
.mobile-bottom-nav a:active span:first-child,
.mobile-bottom-nav a:focus span:first-child,
.mobile-bottom-nav a:focus-visible span:first-child,
.mobile-bottom-nav a.is-active span:first-child,
.role-aware-bottom-nav a span:first-child,
.role-aware-bottom-nav a:hover span:first-child,
.role-aware-bottom-nav a:active span:first-child,
.role-aware-bottom-nav a:focus span:first-child,
.role-aware-bottom-nav a:focus-visible span:first-child,
.role-aware-bottom-nav a.is-active span:first-child{
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}
/* HARD_KILL_BLUE_TAP_STATE_END */

/* FORCE_PURCHASE_ORDERS_MOBILE_POLISH_START */
@media(max-width:820px){
  .purchase-orders-index .page-header .actions,
  .purchase-orders-index .filters{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    overflow:visible!important;
  }

  .purchase-orders-index .page-header .actions a,
  .purchase-orders-index .filters a{
    width:100%!important;
    min-height:58px!important;
    border-radius:22px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-weight:950!important;
  }

  .purchase-orders-index .page-header .actions a:not(.secondary){
    background:linear-gradient(180deg,var(--app-accent,#e8ad7a),var(--app-accent-dark,#ad7040))!important;
    color:var(--app-accent-text,#4d2f19)!important;
    box-shadow:0 18px 40px color-mix(in srgb,var(--app-accent-dark,#ad7040) 30%,transparent)!important;
  }

  .purchase-orders-index .filters a:not(.secondary),
  .purchase-orders-index .badge,
  .purchase-orders-index [class*="status-"]{
    background:var(--app-accent-soft,#fff1e6)!important;
    color:var(--app-accent-text,#4d2f19)!important;
    border-color:color-mix(in srgb,var(--app-accent-dark,#ad7040) 24%,transparent)!important;
  }

  .purchase-orders-index .mobile-table-cards{
    display:grid!important;
    gap:18px!important;
  }

  .purchase-orders-index .mobile-table-card{
    border-radius:28px!important;
    padding:18px!important;
    background:rgba(255,255,255,.92)!important;
    border:1px solid rgba(0,0,0,.07)!important;
    box-shadow:0 18px 46px rgba(0,0,0,.08)!important;
  }

  .purchase-orders-index .mobile-table-card .actions{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
    padding-top:14px!important;
    margin-top:12px!important;
    border-top:1px solid rgba(0,0,0,.07)!important;
  }

  .purchase-orders-index .mobile-table-card .actions form{
    margin:0!important;
  }

  .purchase-orders-index .mobile-table-card .actions a,
  .purchase-orders-index .mobile-table-card .actions button{
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    border-radius:18px!important;
    padding:0 8px!important;
    font-size:14px!important;
    font-weight:950!important;
    white-space:nowrap!important;
  }
}
/* FORCE_PURCHASE_ORDERS_MOBILE_POLISH_END */

/* MOBILE_FIRST_SQUARE_NEUTRALIZED_V1_START */
/*
 * mobile-first.css conserva responsive/safe-area/layout.
 * La estética final de componentes la manda square-operational-density.css.
 */
html body .mobile-bottom-nav,
html body .role-aware-bottom-nav,
html body .card,
html body .panel,
html body .button,
html body button,
html body input,
html body select,
html body textarea{
    background-image:none!important;
    text-shadow:none!important;
}
/* MOBILE_FIRST_SQUARE_NEUTRALIZED_V1_END */
