﻿:root{
    --am-bg:#05060a;
    --am-bg2:#0b0d14;
    --am-bg3:#121522;
    --am-panel:#111421;
    --am-panel2:#181c2c;
    --am-panel3:#202537;
    --am-line:rgba(255,255,255,.095);
    --am-line-strong:rgba(255,255,255,.16);
    --am-text:#fff8ed;
    --am-text-2:#f2efe8;
    --am-muted:#a8adbb;
    --am-muted2:#7e8494;
    --am-gold:#d8aa52;
    --am-gold2:#f0c979;
    --am-gold-dark:#9a6923;
    --am-red:#671826;
    --am-red2:#a12b3d;
    --am-green:#a6c86a;
    --am-blue:#7e8cff;
    --am-radius:24px;
    --am-radius-lg:30px;
    --am-shadow:0 24px 70px rgba(0,0,0,.48);
    --am-shadow-soft:0 14px 36px rgba(0,0,0,.28);
    --am-bottom-nav-h:78px;
}

*{box-sizing:border-box}
html{min-height:100%;background:var(--am-bg);-webkit-text-size-adjust:100%}
html,body{width:100%;overflow-x:hidden}
body.am-body{
    margin:0!important;
    padding-top:0!important;
    padding-left:0!important;
    padding-right:0!important;
    padding-bottom:calc(var(--am-bottom-nav-h) + 18px + env(safe-area-inset-bottom))!important;
    min-height:100vh;
    min-height:100dvh;
    color:var(--am-text);
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    background:
        radial-gradient(circle at 12% -12%,rgba(103,24,38,.70) 0,rgba(103,24,38,.22) 26%,transparent 48%),
        radial-gradient(circle at 100% 8%,rgba(216,170,82,.18) 0,rgba(216,170,82,.06) 26%,transparent 43%),
        linear-gradient(180deg,#07070b 0%,#0b0d15 46%,#05060a 100%);
    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
}
body.am-body::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-1;
    background:
        linear-gradient(180deg,rgba(255,255,255,.035),transparent 18%,transparent 78%,rgba(255,255,255,.025)),
        radial-gradient(circle at 50% 28%,rgba(255,255,255,.035),transparent 34%);
    opacity:.8;
}
body.am-body form{min-height:100vh;min-height:100dvh}
a{color:inherit;text-decoration:none}
img{max-width:100%}
button,input,select,textarea{font:inherit}

/* Topbar mobile first */
.am-topbar{
    position:sticky;
    top:0;
    z-index:80;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:64px;
    padding:10px 16px;
    padding-top:calc(10px + env(safe-area-inset-top));
    background:rgba(5,6,10,.82);
    border-bottom:1px solid rgba(255,255,255,.075);
    box-shadow:0 10px 28px rgba(0,0,0,.22);
    backdrop-filter:blur(18px) saturate(130%);
    -webkit-backdrop-filter:blur(18px) saturate(130%);
}
.am-brand{display:flex;align-items:center;gap:11px;min-width:0;text-decoration:none!important}
.am-brand-mark{
    width:38px;
    height:38px;
    flex:0 0 38px;
    border-radius:15px;
    display:grid;
    place-items:center;
    color:#12100a;
    font-size:15px;
    font-weight:950;
    background:linear-gradient(145deg,var(--am-gold2) 0%,var(--am-gold) 45%,#9f6a20 100%);
    box-shadow:0 12px 24px rgba(216,170,82,.22), inset 0 1px 0 rgba(255,255,255,.36);
}
.am-brand strong{display:block;line-height:.98;font-size:17px;font-weight:950;letter-spacing:.2px;color:#fff}
.am-brand small{display:block;margin-top:4px;color:var(--am-muted);font-size:11px;line-height:1;font-weight:650}
.am-top-actions{display:flex;align-items:center;gap:8px}
.am-pill-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:8px 12px;
    border-radius:999px;
    border:1px solid rgba(216,170,82,.36);
    color:var(--am-gold2)!important;
    background:rgba(216,170,82,.09);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
    font-weight:850;
    font-size:12px;
    text-decoration:none!important;
}

/* Layout */
.am-page-shell{
    width:100%;
    max-width:1120px;
    margin:0 auto;
    padding:14px 14px 22px;
    min-height:calc(100dvh - 64px - var(--am-bottom-nav-h) - 18px);
}
.am-section{margin-top:18px}
.am-grid{display:grid;gap:14px}
.am-grid-2,.am-grid-3{grid-template-columns:1fr}

/* Premium hero/card */
.am-hero{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border-radius:28px;
    padding:25px 20px 24px;
    border:1px solid rgba(255,255,255,.10);
    background:
        linear-gradient(145deg,rgba(26,30,45,.96),rgba(12,14,22,.98)),
        linear-gradient(180deg,rgba(255,255,255,.06),transparent);
    box-shadow:var(--am-shadow-soft);
}
.am-hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;
    background:
        radial-gradient(circle at 96% 14%,rgba(216,170,82,.16) 0,rgba(216,170,82,.11) 22%,transparent 44%),
        radial-gradient(circle at 2% 108%,rgba(103,24,38,.35) 0,transparent 42%);
}
.am-hero::after{
    content:"";
    position:absolute;
    right:-74px;
    top:-78px;
    width:220px;
    height:220px;
    border-radius:999px;
    z-index:-1;
    background:linear-gradient(135deg,rgba(255,255,255,.085),rgba(216,170,82,.06));
    border:1px solid rgba(255,255,255,.055);
    filter:blur(.1px);
}
.am-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:7px;
    text-transform:uppercase;
    letter-spacing:.19em;
    color:var(--am-gold2);
    font-size:10.5px;
    line-height:1.2;
    font-weight:950;
}
.am-eyebrow::before{
    content:"";
    width:7px;
    height:7px;
    border-radius:999px;
    background:var(--am-gold);
    box-shadow:0 0 0 4px rgba(216,170,82,.10);
}
.am-hero h1,.am-title{
    position:relative;
    max-width:720px;
    margin:11px 0 12px;
    color:#fff;
    font-size:31px;
    line-height:1.06;
    letter-spacing:-.045em;
    font-weight:950;
}
.am-subtitle{
    max-width:720px;
    margin:0 0 18px;
    color:#e6e8ef;
    font-size:15px;
    line-height:1.62;
    font-weight:500;
}
.am-actions{display:flex;gap:10px;flex-wrap:wrap}

/* Forms */
.am-form{display:grid;gap:12px;position:relative;z-index:1}
.am-label{display:block;margin:0 0 7px;color:#c3c8d5;font-size:12px;line-height:1.1;font-weight:850}
.am-input,.am-select,.am-textarea,
input[type=text].am-input,input[type=password].am-input,input[type=email].am-input,input[type=number].am-input{
    width:100%;
    min-height:48px;
    padding:13px 14px;
    color:#fff;
    caret-color:var(--am-gold2);
    background:rgba(255,255,255,.065);
    border:1px solid rgba(255,255,255,.14);
    border-radius:16px;
    outline:0;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035), 0 12px 28px rgba(0,0,0,.12);
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease;
    -webkit-appearance:none;
    appearance:none;
}
.am-input::placeholder,.am-textarea::placeholder{color:rgba(225,229,238,.45)}
.am-input:focus,.am-select:focus,.am-textarea:focus{
    border-color:rgba(240,201,121,.76);
    background:rgba(255,255,255,.09);
    box-shadow:0 0 0 4px rgba(216,170,82,.12), inset 0 1px 0 rgba(255,255,255,.05);
}
.am-textarea{min-height:112px;resize:vertical}

/* Buttons */
.am-btn,.btn.am-btn{
    position:relative;
    overflow:hidden;
    border:0;
    border-radius:16px;
    min-height:48px;
    padding:13px 16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    color:#111!important;
    font-weight:950;
    line-height:1.1;
    text-decoration:none!important;
    box-shadow:0 12px 30px rgba(0,0,0,.24);
    transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
.am-form .am-btn{width:100%}
.am-btn:active{transform:translateY(1px) scale(.995)}
.am-btn-primary{
    background:linear-gradient(135deg,var(--am-gold2) 0%,var(--am-gold) 48%,#b27726 100%);
    color:#151006!important;
    text-shadow:0 1px 0 rgba(255,255,255,.22);
}
.am-btn-primary::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.26) 42%,transparent 60%);
    transform:translateX(-120%);
    transition:transform .55s ease;
}
.am-btn-primary:hover::after,.am-btn-primary:focus::after{transform:translateX(120%)}
.am-btn-dark{background:rgba(255,255,255,.08);color:#fff!important;border:1px solid var(--am-line);box-shadow:none}
.am-btn-ghost{background:transparent;color:var(--am-gold2)!important;border:1px solid rgba(216,170,82,.35);box-shadow:none}

/* Cards and content */
.am-card{
    background:linear-gradient(180deg,rgba(24,28,44,.88),rgba(17,20,33,.92));
    border:1px solid var(--am-line);
    border-radius:var(--am-radius);
    padding:16px;
    box-shadow:var(--am-shadow-soft);
}
.am-card-soft{
    background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.026));
    border:1px solid var(--am-line);
    border-radius:var(--am-radius);
    padding:15px;
}
.am-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 2px 10px}
.am-section-head h2{margin:0;color:#fff;font-size:19px;line-height:1.1;font-weight:950;letter-spacing:-.025em}
.am-section-head p{margin:5px 0 0;color:var(--am-muted);font-size:13px;line-height:1.35}
.am-chip-row{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding:2px 0 9px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.am-chip-row::-webkit-scrollbar{display:none}
.am-chip{white-space:nowrap;border:1px solid var(--am-line);border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.06);color:#edf0f7;font-size:12px;font-weight:850}

/* Local cards */
.am-local-card{overflow:hidden;padding:0}
.am-local-img{min-height:148px;background:linear-gradient(135deg,rgba(216,170,82,.22),rgba(103,24,38,.52)),linear-gradient(180deg,#22283b,#10131e);position:relative}
.am-local-img::after{content:"";position:absolute;inset:auto 0 0 0;height:46%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.48))}
.am-local-img img{width:100%;height:180px;object-fit:cover;display:block}
.am-local-body{padding:14px}
.am-local-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.am-local-title h3{margin:0;color:#fff;font-size:18px;line-height:1.15;font-weight:950;letter-spacing:-.02em}
.am-meta{color:var(--am-muted);font-size:12px;line-height:1.35;margin-top:5px}
.am-rating{color:var(--am-gold2);font-weight:950;letter-spacing:.01em}
.am-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.075em;font-weight:950;border:1px solid var(--am-line);background:rgba(255,255,255,.075)}
.am-badge-gold{color:#151006;background:linear-gradient(135deg,var(--am-gold2),var(--am-gold));border-color:transparent}
.am-badge-green{color:#11170d;background:var(--am-green);border-color:transparent}
.am-badge-red{color:#fff;background:rgba(161,43,61,.95);border-color:rgba(255,255,255,.1)}

/* Alerts */
.am-alert{border-radius:16px;padding:12px 14px;margin:10px 0 12px;border:1px solid var(--am-line);background:rgba(255,255,255,.06);color:#f0f2f8;font-size:13px;line-height:1.45}
.am-alert-ok{border-color:rgba(166,200,106,.34);background:rgba(166,200,106,.12)}
.am-alert-error{border-color:rgba(230,88,107,.34);background:rgba(103,24,38,.20)}

/* Dashboard/admin reusable */
.am-kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.am-kpi strong{display:block;font-size:24px;line-height:1;color:#fff}
.am-kpi span{display:block;color:var(--am-muted);font-size:11px;margin-top:6px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.am-map-box{height:360px;border-radius:24px;border:1px solid var(--am-line);background:linear-gradient(135deg,rgba(126,140,255,.18),rgba(103,24,38,.28)),#151824;display:grid;place-items:center;text-align:center;color:var(--am-muted);overflow:hidden}
.am-table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--am-line);box-shadow:var(--am-shadow-soft)}
.am-table{width:100%;border-collapse:collapse;min-width:760px;background:rgba(17,20,33,.92)}
.am-table th,.am-table td{padding:11px;border-bottom:1px solid var(--am-line);font-size:12px;vertical-align:middle;color:#edf0f6}
.am-table th{color:var(--am-gold2);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:950;background:rgba(255,255,255,.035)}
.am-muted{color:var(--am-muted)}
.am-hidden{display:none!important}
.am-legal{font-size:12px;line-height:1.58;color:var(--am-muted)}

/* Bottom app nav */
.am-bottom-nav{
    position:fixed;
    left:12px;
    right:12px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    z-index:90;
    height:var(--am-bottom-nav-h);
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:4px;
    padding:8px;
    border-radius:26px;
    border:1px solid rgba(255,255,255,.105);
    background:linear-gradient(180deg,rgba(17,20,32,.86),rgba(10,12,20,.93));
    box-shadow:0 18px 55px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter:blur(20px) saturate(125%);
    -webkit-backdrop-filter:blur(20px) saturate(125%);
}
.am-bottom-nav a{
    min-width:0;
    min-height:58px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    border-radius:20px;
    color:#f1f3f8;
    text-decoration:none!important;
    transition:background .16s ease,transform .16s ease,color .16s ease;
}
.am-bottom-nav a:hover,.am-bottom-nav a:focus{background:rgba(255,255,255,.075);outline:none}
.am-bottom-nav a:active{transform:translateY(1px)}
.am-bottom-nav span{font-size:17px;line-height:1;color:#f1f3f8;opacity:.96}
.am-bottom-nav small{font-size:10px;line-height:1;color:var(--am-muted);font-weight:850}

/* Admin */
body.am-admin-body{padding-bottom:0!important}
.am-admin-layout{max-width:1360px;margin:0 auto;padding:14px;display:grid;grid-template-columns:1fr;gap:14px}
.am-admin-menu{display:flex;gap:8px;overflow:auto;padding:8px;background:rgba(17,20,33,.76);border:1px solid var(--am-line);border-radius:22px;box-shadow:var(--am-shadow-soft)}
.am-admin-menu a{white-space:nowrap;text-decoration:none!important;border-radius:999px;padding:9px 12px;color:#e9eaf0;background:rgba(255,255,255,.055);font-weight:850;font-size:12px}
.am-admin-content{min-width:0}

@media (max-width:420px){
    .am-page-shell{padding-left:13px;padding-right:13px;padding-top:13px}
    .am-hero{border-radius:26px;padding:24px 19px 24px}
    .am-hero h1,.am-title{font-size:30px;line-height:1.055;margin-top:10px}
    .am-subtitle{font-size:14.7px;line-height:1.62}
    .am-bottom-nav{left:11px;right:11px;border-radius:25px}
}
@media (max-width:360px){
    .am-hero h1,.am-title{font-size:27px}
    .am-brand strong{font-size:16px}
    .am-brand-mark{width:36px;height:36px;flex-basis:36px;border-radius:14px}
    .am-bottom-nav small{font-size:9px}
}
@media (min-width:768px){
    :root{--am-bottom-nav-h:0px}
    body.am-body{padding-bottom:0!important}
    .am-topbar{padding-left:24px;padding-right:24px;min-height:72px}
    .am-page-shell{padding:26px;min-height:auto}
    .am-hero{padding:42px;border-radius:34px;box-shadow:var(--am-shadow)}
    .am-hero h1,.am-title{font-size:58px;line-height:.98}
    .am-subtitle{font-size:17px}
    .am-grid-2{grid-template-columns:repeat(2,1fr)}
    .am-grid-3{grid-template-columns:repeat(3,1fr)}
    .am-kpi-grid{grid-template-columns:repeat(4,1fr)}
    .am-form .am-btn{width:auto}
    .am-bottom-nav{display:none}
    .am-admin-layout{grid-template-columns:250px 1fr;gap:18px;padding:20px}
    .am-admin-menu{display:flex;flex-direction:column;position:sticky;top:88px;align-self:start;overflow:visible}
    .am-admin-menu a{border-radius:14px}
    .am-map-box{height:520px}
}
@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{transition:none!important;scroll-behavior:auto!important}
}


/* =========================================================
   AfterMan Hotfix Mobile Forms v3
   Objetivo: alinear formularios y neutralizar estilos base
   de la plantilla ASP.NET que limitan inputs a max-width:280px.
   ========================================================= */
html body.am-body .am-page-shell{
    width:100% !important;
    padding-left:16px !important;
    padding-right:16px !important;
}
html body.am-body .am-page-shell > .am-hero,
html body.am-body .am-page-shell > .am-card,
html body.am-body .am-auth-card{
    width:100% !important;
    max-width:430px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}
html body.am-body .am-auth-card,
html body.am-body .am-page-shell > .am-card{
    padding:22px 16px 18px !important;
}
html body.am-body .am-auth-card .am-title,
html body.am-body .am-page-shell > .am-card .am-title{
    margin-bottom:14px !important;
}
html body.am-body .am-form{
    width:100% !important;
    max-width:none !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    align-items:stretch !important;
    justify-items:stretch !important;
}
html body.am-body .am-form > div,
html body.am-body .am-field,
html body.am-body .am-form .am-field{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
}
html body.am-body .am-form .am-label,
html body.am-body .am-label{
    width:100% !important;
    max-width:none !important;
    margin:0 0 7px !important;
    padding-left:1px !important;
    text-align:left !important;
}
html body.am-body input.am-input,
html body.am-body select.am-select,
html body.am-body textarea.am-textarea,
html body.am-body .am-form input[type="text"],
html body.am-body .am-form input[type="password"],
html body.am-body .am-form input[type="email"],
html body.am-body .am-form input[type="number"],
html body.am-body .am-form select,
html body.am-body .am-form textarea{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    margin:0 !important;
}
html body.am-body .am-form .am-btn,
html body.am-body .am-form a.am-btn,
html body.am-body .am-form input[type="submit"].am-btn,
html body.am-body .am-form input[type="button"].am-btn,
html body.am-body .am-form button.am-btn{
    display:flex !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    margin:0 !important;
    text-align:center !important;
}
html body.am-body .am-legal{
    display:flex !important;
    align-items:center !important;
    gap:11px !important;
    width:100% !important;
    max-width:none !important;
    min-height:46px !important;
    margin:2px 0 0 !important;
    padding:11px 12px !important;
    color:#e8ebf3 !important;
    border-radius:16px !important;
    border:1px solid rgba(255,255,255,.10) !important;
    background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03)) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.03), 0 10px 24px rgba(0,0,0,.10) !important;
    transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease !important;
}
html body.am-body .am-legal:hover{
    border-color:rgba(216,170,82,.28) !important;
    background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.035)) !important;
}
html body.am-body .am-legal:focus-within{
    border-color:rgba(240,201,121,.70) !important;
    box-shadow:0 0 0 4px rgba(216,170,82,.10), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
html body.am-body .am-legal input[type="checkbox"]{
    -webkit-appearance:none !important;
    appearance:none !important;
    display:inline-grid !important;
    place-content:center !important;
    width:22px !important;
    height:22px !important;
    max-width:22px !important;
    flex:0 0 22px !important;
    margin:0 !important;
    border-radius:8px !important;
    border:1px solid rgba(255,255,255,.18) !important;
    background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.04)) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 6px 14px rgba(0,0,0,.16) !important;
    cursor:pointer !important;
    transition:transform .14s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease !important;
}
html body.am-body .am-legal input[type="checkbox"]::before{
    content:"";
    width:10px;
    height:6px;
    border-left:2.5px solid #151006;
    border-bottom:2.5px solid #151006;
    transform:rotate(-45deg) scale(0);
    transform-origin:center;
    margin-top:-2px;
    transition:transform .15s ease;
}
html body.am-body .am-legal input[type="checkbox"]:hover{
    border-color:rgba(216,170,82,.40) !important;
}
html body.am-body .am-legal input[type="checkbox"]:active{
    transform:scale(.96) !important;
}
html body.am-body .am-legal input[type="checkbox"]:checked{
    border-color:rgba(240,201,121,.88) !important;
    background:linear-gradient(135deg,var(--am-gold2) 0%,var(--am-gold) 52%,#b27726 100%) !important;
    box-shadow:0 10px 22px rgba(216,170,82,.24), inset 0 1px 0 rgba(255,255,255,.22) !important;
}
html body.am-body .am-legal input[type="checkbox"]:checked::before{
    transform:rotate(-45deg) scale(1) !important;
}
html body.am-body .am-legal label{
    display:block !important;
    flex:1 1 auto !important;
    margin:0 !important;
    color:#e8ebf3 !important;
    font-size:14px !important;
    line-height:1.32 !important;
    font-weight:760 !important;
    letter-spacing:.01em !important;
    cursor:pointer !important;
    user-select:none !important;
}
html body.am-body .am-alert{
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
}

@media (max-width:420px){
    html body.am-body .am-page-shell{
        padding-left:14px !important;
        padding-right:14px !important;
    }
    html body.am-body .am-page-shell > .am-hero,
    html body.am-body .am-page-shell > .am-card,
    html body.am-body .am-auth-card{
        max-width:none !important;
    }
    html body.am-body .am-auth-card,
    html body.am-body .am-page-shell > .am-card{
        padding:22px 15px 17px !important;
        border-radius:24px !important;
    }
}
@media (min-width:768px){
    html body.am-body .am-page-shell > .am-hero,
    html body.am-body .am-page-shell > .am-card,
    html body.am-body .am-auth-card{
        max-width:560px !important;
    }
    html body.am-body .am-auth-card,
    html body.am-body .am-page-shell > .am-card{
        padding:30px !important;
    }
}

/* =========================================================
   AfterMan Official Neon Theme v5
   Basado en logo oficial: negro profundo, magenta neón,
   azul eléctrico, brillo lineal y textura nocturna.
   ========================================================= */
:root{
    --am-bg:#010106;
    --am-bg2:#050614;
    --am-bg3:#0b0d1f;
    --am-panel:#0b0d1a;
    --am-panel2:#111426;
    --am-panel3:#181b2e;
    --am-line:rgba(255,255,255,.105);
    --am-line-strong:rgba(255,255,255,.20);
    --am-text:#f7fbff;
    --am-text-2:#eaf2ff;
    --am-muted:#9da5bd;
    --am-muted2:#717890;
    --am-neon-pink:#ff21cb;
    --am-neon-pink2:#ff62df;
    --am-neon-blue:#22d7ff;
    --am-neon-blue2:#4e8dff;
    --am-neon-purple:#8b35ff;
    --am-gold:#ff21cb;
    --am-gold2:#22d7ff;
    --am-gold-dark:#7b2aff;
    --am-red:#2b0927;
    --am-red2:#ff2b72;
    --am-green:#53ffc5;
    --am-blue:#22d7ff;
    --am-shadow:0 28px 86px rgba(0,0,0,.68);
    --am-shadow-soft:0 18px 54px rgba(0,0,0,.42);
}

html{background:#010106!important;}
body.am-body{
    color:var(--am-text);
    background:
        radial-gradient(circle at 17% 8%,rgba(255,33,203,.26) 0,rgba(255,33,203,.105) 21%,transparent 42%),
        radial-gradient(circle at 88% 16%,rgba(34,215,255,.26) 0,rgba(34,215,255,.095) 24%,transparent 46%),
        radial-gradient(circle at 52% 70%,rgba(139,53,255,.12) 0,transparent 44%),
        linear-gradient(180deg,#020207 0%,#070712 42%,#02030a 100%) !important;
}
body.am-body::before{
    opacity:1!important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.025),transparent 20%,transparent 70%,rgba(34,215,255,.03)),
        repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 1px,transparent 1px,transparent 64px),
        repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0,rgba(255,255,255,.012) 1px,transparent 1px,transparent 58px),
        radial-gradient(circle at 22% 95%,rgba(255,33,203,.11),transparent 30%),
        radial-gradient(circle at 82% 92%,rgba(34,215,255,.10),transparent 32%);
}
body.am-body::after{
    content:"";
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    height:38vh;
    z-index:-1;
    pointer-events:none;
    background:
        linear-gradient(180deg,transparent 0%,rgba(0,0,0,.18) 28%,rgba(0,0,0,.56) 100%),
        radial-gradient(ellipse at 23% 100%,rgba(255,33,203,.22),transparent 44%),
        radial-gradient(ellipse at 75% 100%,rgba(34,215,255,.19),transparent 46%);
    filter:blur(.2px);
}

.am-topbar{
    background:rgba(1,1,8,.74)!important;
    border-bottom:1px solid rgba(255,255,255,.075)!important;
    box-shadow:0 14px 40px rgba(0,0,0,.50), 0 1px 0 rgba(255,33,203,.18)!important;
}
.am-topbar::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,33,203,.82),rgba(34,215,255,.82),transparent);
    opacity:.8;
}
.am-brand{gap:12px!important;}
.am-brand-mark{
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
    border-radius:15px!important;
    background-image:url("images/afterman-brand-mark.jpg")!important;
    background-size:cover!important;
    background-position:center!important;
    background-color:#020207!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:
        0 0 22px rgba(255,33,203,.24),
        0 0 24px rgba(34,215,255,.16),
        inset 0 0 18px rgba(255,255,255,.02)!important;
    color:transparent!important;
    font-size:0!important;
}
.am-brand strong{
    color:#fff!important;
    text-shadow:0 0 14px rgba(255,33,203,.36),0 0 18px rgba(34,215,255,.22)!important;
    letter-spacing:.15px!important;
}
.am-brand small{color:#aab2c9!important;}
.am-pill-link{
    color:#fff!important;
    border:1px solid transparent!important;
    background:
        linear-gradient(rgba(11,13,26,.92),rgba(11,13,26,.92)) padding-box,
        linear-gradient(135deg,rgba(255,33,203,.9),rgba(34,215,255,.9)) border-box!important;
    box-shadow:0 0 22px rgba(255,33,203,.12),0 0 24px rgba(34,215,255,.08)!important;
}

.am-page-shell{position:relative;}
.am-hero,
html body.am-body .am-page-shell > .am-card,
html body.am-body .am-auth-card,
.am-card{
    background:
        linear-gradient(180deg,rgba(14,16,32,.92),rgba(7,8,18,.96)) padding-box,
        linear-gradient(145deg,rgba(255,33,203,.34),rgba(255,255,255,.06) 38%,rgba(34,215,255,.34)) border-box!important;
    border:1px solid transparent!important;
    box-shadow:
        0 22px 60px rgba(0,0,0,.52),
        0 0 34px rgba(255,33,203,.075),
        0 0 38px rgba(34,215,255,.055),
        inset 0 1px 0 rgba(255,255,255,.055)!important;
}
.am-hero::before{
    background:
        radial-gradient(circle at 20% 16%,rgba(255,33,203,.18),transparent 34%),
        radial-gradient(circle at 90% 18%,rgba(34,215,255,.18),transparent 36%),
        linear-gradient(110deg,rgba(255,33,203,.045),transparent 42%,rgba(34,215,255,.045))!important;
}
.am-hero::after{
    right:-86px!important;
    top:-92px!important;
    width:245px!important;
    height:245px!important;
    background:
        radial-gradient(circle at 35% 45%,rgba(255,33,203,.22),transparent 35%),
        radial-gradient(circle at 70% 62%,rgba(34,215,255,.18),transparent 38%)!important;
    border:1px solid rgba(255,255,255,.045)!important;
    filter:blur(1px)!important;
}
.am-eyebrow{
    color:#fff!important;
    text-shadow:0 0 12px rgba(255,33,203,.68),0 0 18px rgba(34,215,255,.34)!important;
}
.am-eyebrow::before{
    background:linear-gradient(135deg,var(--am-neon-pink),var(--am-neon-blue))!important;
    box-shadow:0 0 0 4px rgba(255,33,203,.11),0 0 18px rgba(34,215,255,.35)!important;
}
.am-hero h1,.am-title,.am-section-head h2{
    color:#fff!important;
    text-shadow:0 0 18px rgba(255,33,203,.22),0 0 20px rgba(34,215,255,.14)!important;
}
.am-subtitle,.am-section-head p,.am-meta,.am-muted{color:#aeb6ce!important;}

.am-input,.am-select,.am-textarea,
input[type=text].am-input,input[type=password].am-input,input[type=email].am-input,input[type=number].am-input{
    color:#f9fbff!important;
    background:rgba(255,255,255,.055)!important;
    border:1px solid rgba(255,255,255,.13)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 12px 28px rgba(0,0,0,.22)!important;
}
.am-input:focus,.am-select:focus,.am-textarea:focus{
    border-color:rgba(34,215,255,.72)!important;
    background:rgba(255,255,255,.078)!important;
    box-shadow:0 0 0 4px rgba(34,215,255,.10),0 0 24px rgba(255,33,203,.12),inset 0 1px 0 rgba(255,255,255,.055)!important;
}
.am-input::placeholder,.am-textarea::placeholder{color:rgba(222,230,249,.44)!important;}
.am-label{color:#cbd4ec!important;}

.am-btn-primary,
.am-badge-gold{
    color:#fff!important;
    background:linear-gradient(135deg,#ff21cb 0%,#8b35ff 43%,#22d7ff 100%)!important;
    border-color:transparent!important;
    text-shadow:0 1px 0 rgba(0,0,0,.28)!important;
    box-shadow:0 14px 34px rgba(255,33,203,.18),0 14px 38px rgba(34,215,255,.12)!important;
}
.am-btn-primary::after{
    background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.34) 42%,transparent 62%)!important;
}
.am-btn-dark,.am-btn-ghost{
    color:#f7fbff!important;
    border:1px solid rgba(255,255,255,.12)!important;
    background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;
}
.am-btn-ghost{border-color:rgba(34,215,255,.35)!important;color:#dff8ff!important;}

.am-local-img{
    background:
        radial-gradient(circle at 28% 35%,rgba(255,33,203,.36),transparent 36%),
        radial-gradient(circle at 76% 34%,rgba(34,215,255,.30),transparent 38%),
        linear-gradient(135deg,#121326,#050711)!important;
}
.am-rating{color:#58e4ff!important;text-shadow:0 0 12px rgba(34,215,255,.36)!important;}
.am-badge-green{color:#06100d!important;background:linear-gradient(135deg,#53ffc5,#22d7ff)!important;}
.am-badge-red{background:linear-gradient(135deg,#ff2b72,#ff21cb)!important;}
.am-alert{
    background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025))!important;
    border-color:rgba(255,255,255,.11)!important;
}
.am-alert-ok{border-color:rgba(83,255,197,.38)!important;background:rgba(83,255,197,.09)!important;}
.am-alert-error{border-color:rgba(255,43,114,.40)!important;background:rgba(255,43,114,.11)!important;}

.am-bottom-nav{
    background:
        linear-gradient(180deg,rgba(9,11,24,.91),rgba(2,3,10,.96)) padding-box,
        linear-gradient(135deg,rgba(255,33,203,.46),rgba(255,255,255,.08) 42%,rgba(34,215,255,.46)) border-box!important;
    border:1px solid transparent!important;
    box-shadow:0 18px 60px rgba(0,0,0,.62),0 0 26px rgba(255,33,203,.09),0 0 30px rgba(34,215,255,.075),inset 0 1px 0 rgba(255,255,255,.045)!important;
}
.am-bottom-nav a:hover,.am-bottom-nav a:focus{
    background:linear-gradient(135deg,rgba(255,33,203,.12),rgba(34,215,255,.10))!important;
}
.am-bottom-nav span{color:#fff!important;text-shadow:0 0 10px rgba(34,215,255,.42)!important;}
.am-bottom-nav small{color:#b8c1d8!important;}

html body.am-body .am-legal{
    background:
        linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.026)) padding-box,
        linear-gradient(135deg,rgba(255,33,203,.26),rgba(34,215,255,.22)) border-box!important;
    border:1px solid transparent!important;
}
html body.am-body .am-legal:focus-within{
    border-color:transparent!important;
    box-shadow:0 0 0 4px rgba(34,215,255,.09),0 0 24px rgba(255,33,203,.11)!important;
}
html body.am-body .am-legal input[type="checkbox"]{
    border-color:rgba(255,255,255,.17)!important;
    background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.035))!important;
}
html body.am-body .am-legal input[type="checkbox"]:checked{
    border-color:transparent!important;
    background:linear-gradient(135deg,#ff21cb 0%,#8b35ff 45%,#22d7ff 100%)!important;
    box-shadow:0 0 18px rgba(255,33,203,.22),0 0 18px rgba(34,215,255,.18)!important;
}
html body.am-body .am-legal input[type="checkbox"]::before{
    border-left-color:#fff!important;
    border-bottom-color:#fff!important;
}
html body.am-body .am-legal label{color:#eaf2ff!important;}

.am-table-wrap,.am-admin-menu{
    background:
        linear-gradient(180deg,rgba(13,15,30,.88),rgba(7,8,18,.94)) padding-box,
        linear-gradient(145deg,rgba(255,33,203,.20),rgba(34,215,255,.20)) border-box!important;
    border:1px solid transparent!important;
}
.am-admin-menu a{
    color:#eaf2ff!important;
    background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035))!important;
    border:1px solid rgba(255,255,255,.07)!important;
}
.am-admin-menu a:hover,.am-admin-menu a:focus{
    background:linear-gradient(135deg,rgba(255,33,203,.16),rgba(34,215,255,.12))!important;
    outline:none!important;
}
.am-table th{color:#64e7ff!important;background:rgba(34,215,255,.055)!important;}
.am-map-box{
    background:
        radial-gradient(circle at 26% 34%,rgba(255,33,203,.25),transparent 38%),
        radial-gradient(circle at 74% 38%,rgba(34,215,255,.22),transparent 38%),
        #070914!important;
}

@media (max-width:420px){
    .am-brand-mark{width:42px!important;height:42px!important;flex-basis:42px!important;border-radius:14px!important;}
    .am-brand strong{font-size:17px!important;}
}


/* =========================================================
   AfterMan Fase 03 - Admin Core Mobile First
   Locales + códigos de invitación / QR
   ========================================================= */
.am-admin-toolbar{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-bottom:12px;
}
.am-admin-toolbar .am-actions{
    align-items:stretch;
}
.am-admin-toolbar .am-actions .am-btn{
    width:100%;
}
.am-admin-form-card{
    margin-bottom:14px;
}
.am-form-note{
    color:var(--am-muted);
    font-size:12px;
    line-height:1.45;
    margin:4px 0 0;
}
.am-admin-divider{
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,33,203,.28),rgba(34,215,255,.24),transparent);
    margin:12px 0;
}
.am-status-dot{
    display:inline-flex;
    align-items:center;
    gap:6px;
    white-space:nowrap;
}
.am-status-dot::before{
    content:"";
    width:8px;
    height:8px;
    border-radius:999px;
    background:var(--am-neon-blue, #22d7ff);
    box-shadow:0 0 14px rgba(34,215,255,.65);
}
.am-status-dot.is-off::before{
    background:#ff4d7d;
    box-shadow:0 0 14px rgba(255,33,203,.55);
}
.am-table .am-pill-link,
.am-table .am-btn-mini{
    min-height:30px;
    padding:7px 10px;
    font-size:11px;
    margin:2px 2px 2px 0;
}
.am-btn-mini{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.065);
    color:#fff!important;
    font-weight:850;
    text-decoration:none!important;
}
.am-btn-mini-danger{
    border-color:rgba(255,33,203,.26);
    background:rgba(255,33,203,.10);
}
.am-code-preview{
    display:block;
    margin-top:7px;
    padding:10px 12px;
    border-radius:14px;
    border:1px solid rgba(34,215,255,.18);
    background:rgba(34,215,255,.055);
    color:#eaf9ff;
    font-size:12px;
    line-height:1.4;
    word-break:break-all;
}
.am-admin-two-col{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    align-items:start;
}
@media (min-width:768px){
    .am-admin-toolbar{
        grid-template-columns:1.2fr .7fr .7fr auto;
        align-items:end;
    }
    .am-admin-toolbar .am-actions .am-btn{
        width:auto;
    }
    .am-admin-two-col{
        grid-template-columns:minmax(320px,430px) 1fr;
    }
}


/* =========================================================
   AfterMan Hotfix v7 - Combobox neon + menú superadmin
   ========================================================= */
html body.am-body select,
html body.am-body select.am-select,
html body.am-body .am-select,
html body.am-body .am-form select{
    color-scheme:dark !important;
    -webkit-appearance:none !important;
    appearance:none !important;
    color:#f7fbff !important;
    background:
        linear-gradient(45deg,transparent 50%,#22d7ff 50%) calc(100% - 25px) calc(50% - 4px)/7px 7px no-repeat,
        linear-gradient(135deg,#ff21cb 50%,transparent 50%) calc(100% - 18px) calc(50% - 4px)/7px 7px no-repeat,
        linear-gradient(180deg,rgba(255,255,255,.064),rgba(255,255,255,.032)) padding-box,
        linear-gradient(135deg,rgba(255,33,203,.38),rgba(34,215,255,.36)) border-box !important;
    border:1px solid transparent !important;
    border-radius:16px !important;
    padding-right:48px !important;
    min-height:48px !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 28px rgba(0,0,0,.22) !important;
}
html body.am-body select:focus,
html body.am-body select.am-select:focus,
html body.am-body .am-select:focus,
html body.am-body .am-form select:focus{
    outline:none !important;
    border-color:transparent !important;
    background:
        linear-gradient(45deg,transparent 50%,#ffffff 50%) calc(100% - 25px) calc(50% - 4px)/7px 7px no-repeat,
        linear-gradient(135deg,#ffffff 50%,transparent 50%) calc(100% - 18px) calc(50% - 4px)/7px 7px no-repeat,
        linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.044)) padding-box,
        linear-gradient(135deg,#ff21cb,#8b35ff 44%,#22d7ff) border-box !important;
    box-shadow:0 0 0 4px rgba(34,215,255,.10),0 0 24px rgba(255,33,203,.12),inset 0 1px 0 rgba(255,255,255,.065) !important;
}
html body.am-body select option,
html body.am-body .am-select option,
html body.am-body .am-form select option{
    background:#080b18 !important;
    color:#eaf2ff !important;
    border:0 !important;
}
html body.am-body select option:checked,
html body.am-body .am-select option:checked,
html body.am-body .am-form select option:checked{
    background:linear-gradient(135deg,#7c1cb8,#126fc8) !important;
    color:#ffffff !important;
}
html body.am-body select optgroup,
html body.am-body .am-select optgroup{
    background:#050711 !important;
    color:#64e7ff !important;
}
html body.am-body select::-ms-expand{display:none;}

.am-pill-admin{
    background:linear-gradient(135deg,rgba(255,33,203,.20),rgba(34,215,255,.18)) !important;
    border-color:rgba(255,33,203,.42) !important;
    color:#fff !important;
    box-shadow:0 0 18px rgba(255,33,203,.12),0 0 16px rgba(34,215,255,.10) !important;
}
.am-top-actions-admin{display:inline-flex !important;align-items:center !important;}
.am-public-admin-menu{
    position:sticky;
    top:64px;
    z-index:70;
    width:100%;
    display:flex;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:9px 14px;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:
        linear-gradient(180deg,rgba(7,8,18,.92),rgba(4,5,12,.88)) padding-box,
        linear-gradient(135deg,rgba(255,33,203,.28),rgba(34,215,255,.24)) border-box;
    box-shadow:0 12px 30px rgba(0,0,0,.30),0 0 22px rgba(255,33,203,.06),0 0 22px rgba(34,215,255,.05);
    backdrop-filter:blur(18px) saturate(130%);
    -webkit-backdrop-filter:blur(18px) saturate(130%);
    scrollbar-width:none;
}
.am-public-admin-menu::-webkit-scrollbar{display:none;}
.am-public-admin-menu a{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:8px 12px;
    border-radius:999px;
    color:#eaf2ff !important;
    text-decoration:none !important;
    font-weight:900;
    font-size:12px;
    letter-spacing:.01em;
    background:linear-gradient(180deg,rgba(255,255,255,.072),rgba(255,255,255,.035));
    border:1px solid rgba(255,255,255,.09);
    white-space:nowrap;
}
.am-public-admin-menu a:hover,
.am-public-admin-menu a:focus{
    outline:none !important;
    background:linear-gradient(135deg,rgba(255,33,203,.18),rgba(34,215,255,.14));
    border-color:rgba(34,215,255,.28);
}
.am-bottom-nav{
    grid-template-columns:repeat(auto-fit,minmax(0,1fr)) !important;
}
.am-bottom-nav a[id$="lnkAdminBottom"] span,
.am-bottom-nav a[href*="/Admin/"] span{
    color:#fff !important;
    font-size:12px !important;
    font-weight:950 !important;
    letter-spacing:-.06em !important;
    text-shadow:0 0 10px rgba(255,33,203,.50),0 0 10px rgba(34,215,255,.36) !important;
}
.am-admin-menu{
    scrollbar-width:thin;
    scrollbar-color:rgba(34,215,255,.45) rgba(255,255,255,.04);
}
.am-admin-menu a{
    display:flex !important;
    align-items:center !important;
    min-height:38px !important;
}
@media (min-width:768px){
    .am-public-admin-menu{top:72px;padding-left:24px;padding-right:24px;justify-content:center;}
}
@media (max-width:420px){
    .am-public-admin-menu{top:calc(62px + env(safe-area-inset-top));padding-left:13px;padding-right:13px;}
    .am-top-actions .am-pill-link{min-height:32px;padding:7px 10px;font-size:11px;}
}


/* =========================================================
   AfterMan Hotfix v8 - Selects profesionales custom
   ========================================================= */
html body.am-body .am-form select.am-select,
html body.am-body .am-form select,
html body.am-body select.am-select{
    background-color:#080b18 !important;
}
html body.am-body select option,
html body.am-body .am-select option,
html body.am-body .am-form select option,
html body.am-body select option[value=""],
html body.am-body .am-select option[value=""]{
    background-color:#080b18 !important;
    color:#f4f8ff !important;
}
html body.am-body select option:hover,
html body.am-body select option:focus,
html body.am-body select option:checked{
    background-color:#171b2d !important;
    color:#ffffff !important;
}

.am-select-host{
    position:relative;
    width:100%;
    min-width:0;
}
.am-select-host .am-select-native{
    position:absolute !important;
    inset:0 auto auto 0 !important;
    width:1px !important;
    height:1px !important;
    min-height:1px !important;
    max-width:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
    z-index:-1 !important;
    overflow:hidden !important;
}
.am-select-button{
    width:100%;
    min-height:50px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:13px 15px;
    border-radius:17px;
    border:1px solid transparent;
    color:#f7fbff;
    text-align:left;
    font-weight:780;
    letter-spacing:.005em;
    background:
        linear-gradient(180deg,rgba(255,255,255,.072),rgba(255,255,255,.035)) padding-box,
        linear-gradient(135deg,rgba(255,33,203,.46),rgba(139,53,255,.32) 48%,rgba(34,215,255,.42)) border-box;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06),
        0 14px 28px rgba(0,0,0,.22),
        0 0 0 rgba(255,33,203,0);
    cursor:pointer;
    user-select:none;
    transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease,filter .16s ease;
}
.am-select-button:hover{
    background:
        linear-gradient(180deg,rgba(255,255,255,.092),rgba(255,255,255,.045)) padding-box,
        linear-gradient(135deg,#ff21cb,rgba(139,53,255,.56) 48%,#22d7ff) border-box;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.07),
        0 16px 30px rgba(0,0,0,.24),
        0 0 22px rgba(255,33,203,.10),
        0 0 20px rgba(34,215,255,.08);
}
.am-select-host.is-open .am-select-button,
.am-select-host.is-focused .am-select-button{
    background:
        linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.052)) padding-box,
        linear-gradient(135deg,#ff21cb,#8b35ff 45%,#22d7ff) border-box;
    box-shadow:
        0 0 0 4px rgba(255,33,203,.08),
        0 0 0 7px rgba(34,215,255,.045),
        0 18px 36px rgba(0,0,0,.30),
        0 0 28px rgba(34,215,255,.12),
        inset 0 1px 0 rgba(255,255,255,.08);
}
.am-select-value{
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.am-select-value.is-placeholder{
    color:#bfc6d9;
    font-weight:720;
}
.am-select-arrow{
    width:12px;
    height:12px;
    flex:0 0 12px;
    border-right:2px solid #22d7ff;
    border-bottom:2px solid #ff48d8;
    transform:rotate(45deg) translateY(-2px);
    filter:drop-shadow(0 0 6px rgba(34,215,255,.40));
    transition:transform .16s ease,filter .16s ease;
}
.am-select-host.is-open .am-select-arrow{
    transform:rotate(-135deg) translateY(-1px);
    filter:drop-shadow(0 0 8px rgba(255,33,203,.50));
}
.am-select-menu{
    position:absolute;
    left:0;
    right:0;
    top:calc(100% + 8px);
    z-index:3000;
    display:none;
    max-height:286px;
    overflow:auto;
    padding:7px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.12);
    background:
        radial-gradient(circle at 12% 0%,rgba(255,33,203,.15),transparent 36%),
        radial-gradient(circle at 100% 10%,rgba(34,215,255,.16),transparent 38%),
        linear-gradient(180deg,rgba(15,18,32,.98),rgba(5,7,16,.99));
    box-shadow:
        0 28px 70px rgba(0,0,0,.62),
        0 0 34px rgba(255,33,203,.10),
        0 0 28px rgba(34,215,255,.08),
        inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter:blur(18px) saturate(145%);
    -webkit-backdrop-filter:blur(18px) saturate(145%);
}
.am-select-host.is-open .am-select-menu{display:block;}
.am-select-option{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-height:40px;
    padding:10px 12px;
    border-radius:13px;
    color:#eef5ff;
    font-size:14px;
    font-weight:720;
    cursor:pointer;
    transition:background .14s ease,color .14s ease,transform .14s ease,box-shadow .14s ease;
}
.am-select-option:hover,
.am-select-option.is-hover{
    background:rgba(255,255,255,.075);
    color:#fff;
}
.am-select-option.is-selected{
    color:#ffffff;
    background:
        linear-gradient(135deg,rgba(255,33,203,.82),rgba(139,53,255,.70) 50%,rgba(34,215,255,.72));
    box-shadow:0 10px 22px rgba(0,0,0,.24),0 0 18px rgba(34,215,255,.10);
}
.am-select-option.is-selected::after{
    content:"✓";
    color:#fff;
    font-weight:950;
    text-shadow:0 0 8px rgba(255,255,255,.45);
}
.am-select-option.is-placeholder{
    color:#aeb7cc;
    background:rgba(255,255,255,.032);
}
.am-select-option.is-disabled{
    opacity:.45;
    cursor:not-allowed;
}
.am-select-menu::-webkit-scrollbar{width:9px;}
.am-select-menu::-webkit-scrollbar-track{background:rgba(255,255,255,.035);border-radius:999px;}
.am-select-menu::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,#ff21cb,#22d7ff);
    border-radius:999px;
    border:2px solid rgba(5,7,16,.98);
}

/* Refinamiento visual de formularios admin */
.am-admin-body .am-card{
    border-color:rgba(255,255,255,.105);
    background:
        radial-gradient(circle at 0% 0%,rgba(255,33,203,.09),transparent 34%),
        radial-gradient(circle at 100% 0%,rgba(34,215,255,.09),transparent 36%),
        linear-gradient(180deg,rgba(16,18,31,.90),rgba(7,9,18,.96));
    box-shadow:0 24px 58px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.035);
}
.am-admin-body .am-label{
    color:#e6eaff !important;
    letter-spacing:.035em;
    text-transform:none;
}
.am-admin-body .am-admin-content{
    padding-bottom:46px;
}
@media (min-width:900px){
    .am-admin-body .am-section-head,
    .am-admin-body .am-card,
    .am-admin-body .am-alert{
        max-width:1060px;
    }
}
@media (max-width:767px){
    .am-select-menu{
        max-height:238px;
    }
    .am-select-option{
        min-height:44px;
        font-size:13.5px;
    }
}


/* =========================================================
   AfterMan Fase 04 - Contenido de Locales + Ficha pública
   ========================================================= */
.am-admin-grid-2-mini{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
}
.am-section-head-inner{margin-bottom:12px!important;}
.am-admin-thumb{
    width:88px;
    height:62px;
    border-radius:14px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    background:radial-gradient(circle at 35% 20%,rgba(255,33,203,.30),transparent 44%),radial-gradient(circle at 75% 60%,rgba(34,215,255,.22),transparent 46%),#080a14;
    box-shadow:0 10px 24px rgba(0,0,0,.24);
}
.am-admin-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.am-hour-editor-list{display:grid;gap:10px;}
.am-hour-editor-item{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    align-items:end;
    padding:13px;
    border-radius:20px;
    border:1px solid rgba(255,255,255,.09);
    background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
}
.am-hour-day strong{display:block;color:#fff;font-size:15px;font-weight:950;}
.am-hour-day span{display:block;color:#94a0b9;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-top:3px;}
.am-form-savebar{margin-top:14px;justify-content:flex-end;}
.am-form-savebar .am-btn{width:100%;}

.am-detail-hero{
    position:relative;
    overflow:hidden;
    border-radius:30px;
    min-height:430px;
    border:1px solid rgba(255,255,255,.10);
    background:#070814;
    box-shadow:0 30px 80px rgba(0,0,0,.52),0 0 42px rgba(34,215,255,.08);
    isolation:isolate;
}
.am-detail-cover{position:absolute;inset:0;z-index:-2;background:#060711;}
.am-detail-cover::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.68) 62%,rgba(0,0,0,.95)),
        radial-gradient(circle at 15% 25%,rgba(255,33,203,.36),transparent 32%),
        radial-gradient(circle at 88% 24%,rgba(34,215,255,.30),transparent 34%);
}
.am-detail-cover img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.1) contrast(1.06);}
.am-detail-cover-placeholder{
    height:100%;
    display:grid;
    place-items:center;
    color:rgba(255,255,255,.28);
    font-weight:950;
    font-size:88px;
    letter-spacing:-.08em;
    background:
        radial-gradient(circle at 32% 42%,rgba(255,33,203,.34),transparent 36%),
        radial-gradient(circle at 72% 38%,rgba(34,215,255,.30),transparent 40%),
        linear-gradient(145deg,#080916,#03040a);
    text-shadow:0 0 24px rgba(255,33,203,.32),0 0 28px rgba(34,215,255,.24);
}
.am-detail-content{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:26px 18px 20px;
}
.am-detail-content h1{
    margin:10px 0 10px;
    color:#fff;
    font-size:34px;
    line-height:1;
    letter-spacing:-.055em;
    font-weight:950;
    text-shadow:0 8px 26px rgba(0,0,0,.48),0 0 24px rgba(255,33,203,.18);
}
.am-detail-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px;}
.am-detail-actions .am-btn{width:100%;}
.am-detail-summary-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin:13px 0 4px;
}
.am-summary-card{padding:13px!important;border-radius:20px!important;min-height:78px;}
.am-summary-card span{display:block;color:#93a0b8;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.09em;}
.am-summary-card strong{display:block;color:#fff;font-size:14px;line-height:1.1;margin-top:8px;font-weight:950;}
.am-contact-list p{
    margin:0;
    padding:11px 0;
    border-bottom:1px solid rgba(255,255,255,.07);
    display:grid;
    gap:4px;
}
.am-contact-list p:last-child{border-bottom:0;}
.am-contact-list span{color:#95a1bc;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
.am-contact-list strong,.am-contact-list a{color:#fff;font-size:14px;font-weight:820;word-break:break-word;}
.am-hour-public-list{display:grid;gap:9px;}
.am-hour-public-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:13px 14px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.09);
    background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.024));
}
.am-hour-public-item strong{color:#fff;font-size:13px;}
.am-hour-public-item span{color:#c9d2e6;font-size:13px;font-weight:800;text-align:right;}
.am-hour-public-item.is-closed{opacity:.62;}
.am-gallery-grid,.am-people-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
}
.am-gallery-card{
    position:relative;
    min-height:210px;
    border-radius:24px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.10);
    background:#080a14;
    box-shadow:0 18px 46px rgba(0,0,0,.30);
}
.am-gallery-card img{width:100%;height:100%;min-height:210px;object-fit:cover;display:block;}
.am-gallery-card::after{content:"";position:absolute;inset:auto 0 0 0;height:48%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.78));}
.am-gallery-card span{position:absolute;left:13px;right:13px;bottom:12px;z-index:1;color:#fff;font-size:13px;font-weight:900;}
.am-person-card{
    overflow:hidden;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.10);
    background:linear-gradient(180deg,rgba(14,17,30,.94),rgba(7,9,18,.98));
    box-shadow:0 18px 46px rgba(0,0,0,.30);
}
.am-person-photo{height:220px;background:radial-gradient(circle at 30% 20%,rgba(255,33,203,.30),transparent 38%),radial-gradient(circle at 82% 32%,rgba(34,215,255,.22),transparent 42%),#090b15;display:grid;place-items:center;color:#fff;font-weight:950;font-size:36px;}
.am-person-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.am-person-body{padding:15px;}
.am-person-body h3{margin:10px 0 7px;color:#fff;font-size:19px;line-height:1.1;font-weight:950;}
.am-person-body p{margin:0;color:#b8c0d3;font-size:13px;line-height:1.45;}
.am-promo-card{
    position:relative;
    overflow:hidden;
    padding:17px;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.10);
    background:
        radial-gradient(circle at 12% 15%,rgba(255,33,203,.28),transparent 34%),
        radial-gradient(circle at 92% 16%,rgba(34,215,255,.22),transparent 34%),
        linear-gradient(180deg,rgba(16,18,32,.95),rgba(7,8,18,.98));
    box-shadow:0 18px 46px rgba(0,0,0,.30),0 0 28px rgba(255,33,203,.08);
}
.am-promo-card h3{margin:12px 0 7px;color:#fff;font-size:18px;font-weight:950;}
.am-promo-card p{margin:0;color:#c9d2e6;font-size:13px;line-height:1.45;}
.am-review-card{
    padding:15px;
    border-radius:22px;
    border:1px solid rgba(255,255,255,.09);
    background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.024));
}
.am-review-card div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.am-review-card strong{color:#64e7ff;font-size:14px;}
.am-review-card span{color:#9ea9c0;font-size:12px;font-weight:850;}
.am-review-card p{margin:0;color:#e8ecf8;font-size:13px;line-height:1.45;}

@media (min-width:680px){
    .am-admin-grid-2-mini{grid-template-columns:1fr 1fr;}
    .am-hour-editor-item{grid-template-columns:130px 110px 110px 1fr 150px;align-items:end;}
    .am-form-savebar .am-btn{width:auto;}
    .am-detail-actions{grid-template-columns:auto auto auto;justify-content:start;}
    .am-detail-actions .am-btn{width:auto;min-width:140px;}
    .am-gallery-grid,.am-people-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .am-detail-content{padding:34px 30px 26px;}
    .am-detail-content h1{font-size:48px;max-width:760px;}
}
@media (min-width:1040px){
    .am-gallery-grid,.am-people-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
    .am-detail-hero{min-height:520px;}
}
@media (max-width:420px){
    .am-detail-summary-grid{grid-template-columns:1fr 1fr 1fr;gap:8px;}
    .am-summary-card{padding:11px 9px!important;}
    .am-summary-card strong{font-size:12.5px;}
    .am-detail-content h1{font-size:31px;}
}

/* ============================================================
   AFTERMAN Fase 05 - Consultas / UltraMsg
   ============================================================ */
.am-admin-toolbar{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-bottom:14px;
}
.am-admin-toolbar .am-btn{min-height:46px}
.am-form-note{
    margin:8px 0 0;
    color:var(--am-muted);
    font-size:12.5px;
    line-height:1.45;
}
.am-form-note strong{color:#fff}
.am-inline-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
}
.am-mini-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:7px 10px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.055);
    color:#f3f5fb!important;
    font-size:11px;
    font-weight:900;
    line-height:1;
    text-decoration:none!important;
    cursor:pointer;
}
.am-mini-btn:hover{
    border-color:rgba(0,218,255,.35);
    box-shadow:0 0 18px rgba(0,218,255,.12);
}
.am-mini-btn-danger{
    border-color:rgba(255,47,189,.28);
    color:#ffd7f5!important;
}
.am-mini-btn-ok{
    border-color:rgba(121,255,219,.28);
    color:#d9fff7!important;
}
.am-status-pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:26px;
    padding:6px 9px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.05);
    color:#eef2ff;
    font-size:10.5px;
    font-weight:950;
    letter-spacing:.05em;
    text-transform:uppercase;
    white-space:nowrap;
}
.am-status-pill::before{
    content:"";
    width:7px;
    height:7px;
    border-radius:999px;
    background:var(--am-muted);
    box-shadow:0 0 12px currentColor;
}
.am-status-nueva::before,.am-status-pendiente::before{background:var(--am-gold2)}
.am-status-enviada::before,.am-status-enviado::before,.am-status-respondida::before{background:#00daff}
.am-status-error::before{background:#ff2fbd}
.am-status-archivada::before{background:#8a90a3}
.am-consulta-question{
    max-width:420px;
    white-space:normal;
    line-height:1.35;
    color:#f2f4ff;
}
.am-token-field{
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
    letter-spacing:.02em;
}
@media (min-width:760px){
    .am-admin-toolbar{
        grid-template-columns:minmax(220px,1fr) minmax(170px,240px) auto;
        align-items:end;
    }
}

/* ============================================================
   AFTERMAN Fase 06 - Favoritos, evaluaciones y moderación
   ============================================================ */
.am-interaction-strip{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:16px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:24px;
    background:
        radial-gradient(circle at 0% 0%,rgba(255,0,210,.14),transparent 34%),
        radial-gradient(circle at 100% 0%,rgba(0,205,255,.14),transparent 38%),
        linear-gradient(145deg,rgba(19,22,34,.92),rgba(7,9,16,.96));
    box-shadow:0 16px 44px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
}
.am-interaction-copy span{
    display:block;
    color:var(--am-neon-pink,#ff25d8);
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:10px;
    font-weight:950;
    margin-bottom:4px;
}
.am-interaction-copy strong{
    display:block;
    color:#fff;
    font-size:14px;
    line-height:1.25;
    letter-spacing:-.01em;
}
.am-interaction-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex:0 0 auto}
.am-btn-fav{min-width:170px}

.am-rating-panel{
    position:relative;
    overflow:visible;
    border-color:rgba(255,37,216,.18)!important;
}
.am-rating-panel::before{
    content:"";
    position:absolute;
    inset:-1px;
    pointer-events:none;
    border-radius:inherit;
    background:linear-gradient(135deg,rgba(255,37,216,.15),transparent 42%,rgba(30,200,255,.14));
    opacity:.75;
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    padding:1px;
}
.am-section-head.compact{margin-bottom:14px}
.am-rating-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.am-alert-soft{
    background:rgba(255,255,255,.055)!important;
    border-color:rgba(255,255,255,.12)!important;
    color:#e8ebf4!important;
}

.am-empty-state{
    display:grid;
    place-items:center;
    text-align:center;
    gap:10px;
    padding:34px 18px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:28px;
    background:
        radial-gradient(circle at 50% 0%,rgba(255,37,216,.10),transparent 38%),
        linear-gradient(145deg,rgba(18,21,32,.94),rgba(7,8,14,.98));
    box-shadow:0 16px 42px rgba(0,0,0,.22);
}
.am-empty-state.compact{padding:26px 16px}
.am-empty-icon{
    width:56px;
    height:56px;
    display:grid;
    place-items:center;
    border-radius:20px;
    color:#fff;
    font-size:25px;
    font-weight:950;
    background:linear-gradient(135deg,rgba(255,37,216,.82),rgba(27,199,255,.82));
    box-shadow:0 14px 32px rgba(255,37,216,.18),0 12px 30px rgba(27,199,255,.13);
}
.am-empty-state h2{margin:0;color:#fff;font-size:21px;line-height:1.1;letter-spacing:-.025em}
.am-empty-state p{margin:0;max-width:520px;color:var(--am-muted);line-height:1.55}

.am-favorite-card .am-local-title h3{max-width:100%}

.am-admin-filter-card{margin-bottom:16px}
.am-admin-review-card{
    margin-bottom:14px;
    padding:18px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:24px;
    background:
        radial-gradient(circle at 0% 0%,rgba(255,37,216,.08),transparent 28%),
        radial-gradient(circle at 100% 0%,rgba(27,199,255,.08),transparent 28%),
        linear-gradient(145deg,rgba(17,20,31,.96),rgba(8,10,16,.98));
    box-shadow:0 16px 42px rgba(0,0,0,.22);
}
.am-admin-review-card.is-pending{border-color:rgba(240,201,121,.24)}
.am-admin-review-card.is-approved{border-color:rgba(121,240,190,.22)}
.am-admin-review-card.is-rejected{border-color:rgba(255,86,120,.25)}
.am-admin-review-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}
.am-admin-review-head h3{margin:7px 0 4px;color:#fff;font-size:19px;line-height:1.1;letter-spacing:-.02em}
.am-admin-review-head p{margin:0;color:var(--am-muted);font-size:12px;line-height:1.45}
.am-admin-review-head strong{
    flex:0 0 auto;
    color:var(--am-neon-blue,#1bc7ff);
    font-size:18px;
    white-space:nowrap;
    text-shadow:0 0 18px rgba(27,199,255,.30);
}
.am-admin-review-text{
    margin:0 0 12px;
    color:#eef1f8;
    line-height:1.56;
    font-size:14px;
}
.am-admin-review-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:12px;
}
.am-admin-review-meta span{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:6px 10px;
    border-radius:999px;
    color:#cfd4e2;
    font-size:11px;
    font-weight:800;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.08);
}
.am-btn-danger{
    color:#fff!important;
    background:linear-gradient(135deg,rgba(255,55,112,.85),rgba(135,18,46,.95))!important;
    border:1px solid rgba(255,105,140,.32)!important;
}

@media (max-width:820px){
    .am-rating-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
    .am-interaction-strip{align-items:stretch;flex-direction:column}
    .am-interaction-actions{width:100%;justify-content:stretch}
    .am-interaction-actions .am-btn,.am-btn-fav{width:100%;min-width:0}
    .am-rating-grid{grid-template-columns:1fr}
    .am-admin-review-head{display:block}
    .am-admin-review-head strong{display:inline-block;margin-top:8px}
    .am-admin-review-card .am-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .am-admin-review-card .am-actions .am-btn{width:100%}
}

/* ============================================================
   AfterMan Fase 07 - Rutas privadas / AfterRoute
   ============================================================ */
.am-inline-link{
    color:var(--am-cyan,#21d7ff)!important;
    font-weight:900;
    text-decoration:none!important;
    border-bottom:1px solid rgba(33,215,255,.38);
}
.am-route-hero{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
    padding:24px 18px;
    border-radius:28px;
    border:1px solid rgba(230,41,229,.22);
    background:
        radial-gradient(circle at 12% 12%,rgba(230,41,229,.20),transparent 34%),
        radial-gradient(circle at 92% 8%,rgba(33,215,255,.18),transparent 36%),
        linear-gradient(145deg,rgba(16,12,30,.96),rgba(5,9,17,.98));
    box-shadow:0 22px 58px rgba(0,0,0,.36), 0 0 42px rgba(33,215,255,.06), inset 0 1px 0 rgba(255,255,255,.05);
}
.am-route-hero::after{
    content:"";
    position:absolute;
    inset:auto -80px -120px auto;
    width:260px;
    height:260px;
    border-radius:999px;
    background:radial-gradient(circle,rgba(230,41,229,.20),transparent 68%);
    pointer-events:none;
}
.am-route-hero h1{
    margin:10px 0 10px;
    font-size:34px;
    line-height:1;
    letter-spacing:-.055em;
    color:#fff;
    text-shadow:0 0 22px rgba(230,41,229,.18),0 0 24px rgba(33,215,255,.12);
}
.am-route-hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    position:relative;
    z-index:1;
}
.am-badge-neon{
    color:#fff!important;
    border-color:rgba(33,215,255,.35)!important;
    background:linear-gradient(135deg,rgba(230,41,229,.22),rgba(33,215,255,.18))!important;
    box-shadow:0 0 18px rgba(33,215,255,.10);
}
.am-route-settings{
    border-color:rgba(33,215,255,.16)!important;
}
.am-route-name-form{
    grid-template-columns:1fr;
    gap:10px;
}
.am-empty-route{
    display:grid;
    justify-items:center;
    text-align:center;
    gap:12px;
    padding:34px 18px;
    border-radius:28px;
    border:1px solid rgba(255,255,255,.10);
    background:linear-gradient(145deg,rgba(20,20,34,.92),rgba(7,9,16,.96));
    box-shadow:0 18px 42px rgba(0,0,0,.28);
}
.am-empty-route h2{margin:0;color:#fff;font-size:24px;letter-spacing:-.035em}
.am-empty-route p{margin:0;color:var(--am-muted,#a8adbb);max-width:520px;line-height:1.55}
.am-empty-route-icon{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    border-radius:20px;
    color:#fff;
    font-weight:950;
    letter-spacing:-.08em;
    background:linear-gradient(135deg,rgba(230,41,229,.96),rgba(33,215,255,.92));
    box-shadow:0 18px 36px rgba(230,41,229,.18),0 0 24px rgba(33,215,255,.18);
}
.am-route-stop{
    position:relative;
    display:grid;
    grid-template-columns:42px 72px 1fr;
    gap:12px;
    align-items:stretch;
    margin-bottom:12px;
    padding:12px;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.10);
    background:
        linear-gradient(145deg,rgba(24,25,42,.94),rgba(8,11,20,.97));
    box-shadow:0 16px 36px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.04);
    overflow:hidden;
}
.am-route-stop::before{
    content:"";
    position:absolute;
    left:30px;
    top:0;
    bottom:0;
    width:1px;
    background:linear-gradient(180deg,rgba(230,41,229,.55),rgba(33,215,255,.55));
    opacity:.45;
}
.am-route-order{
    position:relative;
    z-index:1;
    align-self:center;
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:15px;
    color:#fff;
    font-weight:950;
    background:linear-gradient(135deg,rgba(230,41,229,.92),rgba(33,215,255,.86));
    box-shadow:0 0 22px rgba(33,215,255,.13),0 10px 24px rgba(0,0,0,.24);
}
.am-route-stop-img{
    width:72px;
    min-height:92px;
    border-radius:18px;
    overflow:hidden;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
}
.am-route-stop-img img{
    width:100%;
    height:100%;
    min-height:92px;
    object-fit:cover;
    display:block;
}
.am-route-stop-img .am-local-img-empty{
    width:100%;
    height:100%;
    min-height:92px;
    display:grid;
    place-items:center;
    color:#fff;
    font-weight:950;
    background:linear-gradient(135deg,rgba(230,41,229,.24),rgba(33,215,255,.16));
}
.am-route-stop-body{min-width:0;display:grid;gap:8px}
.am-route-stop-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
}
.am-route-stop h3{
    margin:0;
    color:#fff;
    font-size:17px;
    line-height:1.12;
    letter-spacing:-.025em;
}
.am-route-stop p{margin:4px 0 0;color:var(--am-muted,#a8adbb);font-size:12px;font-weight:700}
.am-route-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px 12px;
    color:#cbd1df;
    font-size:12px;
    line-height:1.35;
}
.am-route-meta span:first-child{color:#fff;font-weight:900}
.am-route-stop-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
}
.am-route-stop-actions .am-btn{
    min-height:36px;
    padding:9px 12px;
    border-radius:13px;
    font-size:12px;
}
.am-mini-action{
    width:36px;
    height:36px;
    display:inline-grid!important;
    place-items:center;
    border-radius:13px;
    border:1px solid rgba(255,255,255,.12);
    color:#fff!important;
    background:rgba(255,255,255,.06);
    font-size:16px;
    font-weight:950;
    text-decoration:none!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.am-mini-action:hover{border-color:rgba(33,215,255,.38);background:rgba(33,215,255,.10)}
.am-mini-action.danger{color:#ff9aad!important;border-color:rgba(255,95,129,.22);background:rgba(255,95,129,.08)}
.am-btn-danger{
    background:linear-gradient(135deg,rgba(255,95,129,.22),rgba(230,41,229,.16))!important;
    border:1px solid rgba(255,95,129,.24)!important;
    color:#fff!important;
}
@media (min-width:768px){
    .am-route-hero{grid-template-columns:1fr auto;align-items:center;padding:28px}
    .am-route-hero-actions{min-width:210px}
    .am-route-name-form{grid-template-columns:1fr auto;align-items:end}
    .am-route-name-form .am-btn{width:auto!important;min-width:190px}
    .am-route-stop{grid-template-columns:52px 96px 1fr;padding:14px}
    .am-route-stop-img{width:96px;min-height:104px}
    .am-route-stop-img img,.am-route-stop-img .am-local-img-empty{min-height:104px}
}
@media (max-width:430px){
    .am-route-stop{grid-template-columns:36px 62px 1fr;gap:10px;padding:10px;border-radius:22px}
    .am-route-stop::before{left:27px}
    .am-route-order{width:32px;height:32px;border-radius:13px;font-size:13px}
    .am-route-stop-img{width:62px;min-height:86px;border-radius:16px}
    .am-route-stop-img img,.am-route-stop-img .am-local-img-empty{min-height:86px}
    .am-route-stop-top{display:grid;gap:6px}
    .am-route-stop-actions .am-btn{flex:1 1 auto}
}


/* ============================================================
   AFTERMAN FASE 08 - Comercial / Monetización
   ============================================================ */
.am-commercial-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:14px}
.am-commercial-card{
    position:relative;overflow:hidden;border-radius:24px;padding:16px;border:1px solid rgba(255,255,255,.10);
    background:linear-gradient(145deg,rgba(14,17,31,.96),rgba(7,8,16,.98));
    box-shadow:0 18px 48px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04)
}
.am-commercial-card:before{content:"";position:absolute;inset:-1px;pointer-events:none;background:radial-gradient(circle at 0% 0%,rgba(255,42,136,.15),transparent 32%),radial-gradient(circle at 100% 0%,rgba(36,216,255,.13),transparent 32%)}
.am-commercial-card>*{position:relative;z-index:1}
.am-commercial-card h3{margin:8px 0 6px;color:#fff;font-size:18px;letter-spacing:-.02em;line-height:1.1}
.am-commercial-card p{margin:0;color:var(--am-muted);font-size:12.5px;line-height:1.45}
.am-money{font-variant-numeric:tabular-nums;color:#64e7ff!important;font-weight:950}
.am-status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:10.5px;line-height:1;text-transform:uppercase;letter-spacing:.08em;font-weight:950;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);color:#eaf0ff}
.am-status.is-active,.am-status.ACTIVO,.am-status.ACTIVA,.am-status.PAGADO{border-color:rgba(82,255,183,.25);background:rgba(82,255,183,.09);color:#9effce}
.am-status.is-pending,.am-status.PENDIENTE{border-color:rgba(240,201,121,.28);background:rgba(240,201,121,.10);color:#f0c979}
.am-status.is-off,.am-status.VENCIDA,.am-status.BLOQUEADO,.am-status.ANULADO,.am-status.RECHAZADO{border-color:rgba(255,76,124,.25);background:rgba(255,76,124,.10);color:#ff7fa7}
.am-admin-form-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.am-admin-form-title h3{margin:0;color:#fff;font-size:18px;line-height:1.1;letter-spacing:-.02em}
.am-admin-form-title p{margin:4px 0 0;color:var(--am-muted);font-size:12px;line-height:1.35}
.am-form-note{margin:7px 0 0;color:var(--am-muted2);font-size:11px;line-height:1.35}
.am-field-help{display:block;margin-top:6px;color:rgba(255,255,255,.46);font-size:11px;line-height:1.35}
.am-table .am-actions{gap:7px;flex-wrap:nowrap}
.am-table .am-btn-mini{min-height:32px;padding:8px 10px;border-radius:12px;font-size:11px;box-shadow:none}
.am-inline-img{width:74px;height:44px;border-radius:12px;object-fit:cover;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06)}
.am-public-banner{position:relative;overflow:hidden;border-radius:28px;min-height:150px;border:1px solid rgba(255,255,255,.10);background:#090b16;box-shadow:var(--am-shadow-soft);margin-top:16px}
.am-public-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.68;filter:saturate(1.05) contrast(1.05)}
.am-public-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,12,.92),rgba(5,6,12,.40) 62%,rgba(5,6,12,.10)),radial-gradient(circle at 0% 0%,rgba(255,42,136,.22),transparent 42%)}
.am-public-banner-body{position:relative;z-index:2;padding:20px;max-width:680px}
.am-public-banner-body h3{margin:8px 0 7px;color:#fff;font-size:25px;line-height:1.05;letter-spacing:-.04em;font-weight:950}
.am-public-banner-body p{margin:0 0 14px;color:#e8ebf5;font-size:13px;line-height:1.45}
.am-home-promo{display:grid;grid-template-columns:86px 1fr;gap:12px;align-items:center;padding:12px;border-radius:20px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.am-home-promo-img{width:86px;height:74px;border-radius:16px;background:linear-gradient(135deg,rgba(255,42,136,.24),rgba(36,216,255,.14));overflow:hidden;border:1px solid rgba(255,255,255,.10)}
.am-home-promo-img img{width:100%;height:100%;object-fit:cover;display:block}
.am-home-promo h3{margin:4px 0 4px;color:#fff;font-size:15px;line-height:1.15}
.am-home-promo p{margin:0;color:var(--am-muted);font-size:11.5px;line-height:1.35}
.am-dashboard-list{display:grid;gap:10px;margin-top:14px}
.am-dashboard-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045)}
.am-dashboard-row strong{display:block;color:#fff;font-size:13px;line-height:1.2}
.am-dashboard-row span{display:block;color:var(--am-muted);font-size:11px;margin-top:3px}
.am-dashboard-row em{font-style:normal;color:#64e7ff;font-weight:950;font-size:13px;white-space:nowrap}
@media (min-width:768px){.am-commercial-grid{grid-template-columns:repeat(3,1fr)}.am-public-banner{min-height:210px}.am-public-banner-body{padding:28px}.am-public-banner-body h3{font-size:38px}.am-home-promo h3{font-size:16px}}


/* Fase 09 - AfterAnalytics */
.am-admin-filter-card{margin-bottom:14px}
.am-field-button{align-self:end}
.am-metric-kpi{position:relative;overflow:hidden;isolation:isolate}
.am-metric-kpi::after{content:"";position:absolute;right:-34px;top:-34px;width:92px;height:92px;border-radius:999px;background:radial-gradient(circle,rgba(233,43,255,.18),rgba(45,151,255,.08),transparent 70%);z-index:-1}
.am-metric-table td:first-child{min-width:190px}
.am-local-report-head h2{margin:10px 0 4px;color:#fff;font-size:24px;line-height:1.1;font-weight:950;letter-spacing:-.035em}
.am-admin-menu a[href$="Metricas.aspx"],.am-admin-menu a[href$="LocalMetricas.aspx"]{border-color:rgba(233,43,255,.26);background:linear-gradient(135deg,rgba(233,43,255,.10),rgba(45,151,255,.08))}
@media (max-width:560px){.am-metric-table{min-width:680px}.am-field-button{align-self:stretch}}


/* ============================================================
   AFTERMAN FASE 10 - PWA / Club privado mobile
   ============================================================ */
.am-install-card{
    position:relative;
    overflow:hidden;
    display:none;
    margin-top:16px;
    border-radius:26px;
    border:1px solid rgba(255,255,255,.11);
    background:
        radial-gradient(circle at 0% 0%,rgba(233,43,255,.18),transparent 34%),
        radial-gradient(circle at 100% 0%,rgba(45,151,255,.16),transparent 36%),
        linear-gradient(145deg,rgba(16,18,33,.96),rgba(5,6,13,.98));
    box-shadow:0 20px 50px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.05);
    padding:16px;
}
.am-install-card.is-visible{display:grid;gap:12px;grid-template-columns:52px 1fr;align-items:center}
.am-install-icon{
    width:52px;height:52px;border-radius:20px;display:grid;place-items:center;overflow:hidden;
    border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);
    box-shadow:0 12px 26px rgba(233,43,255,.18), inset 0 1px 0 rgba(255,255,255,.08)
}
.am-install-icon img{width:100%;height:100%;object-fit:cover;display:block}
.am-install-copy h3{margin:0 0 4px;color:#fff;font-size:16px;line-height:1.15;letter-spacing:-.025em;font-weight:950}
.am-install-copy p{margin:0;color:var(--am-muted);font-size:12px;line-height:1.42}
.am-install-actions{grid-column:1 / -1;display:flex;gap:9px;flex-wrap:wrap}
.am-install-actions .am-btn{flex:1 1 145px;min-height:42px;border-radius:15px;font-size:12px;padding:11px 12px;box-shadow:0 12px 24px rgba(0,0,0,.22)}
.am-btn-ghost{
    color:#eaf0ff!important;
    background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.035))!important;
    border:1px solid rgba(255,255,255,.12)!important;
    text-shadow:none!important;
}
.am-private-lock{
    display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;
    border:1px solid rgba(233,43,255,.25);background:linear-gradient(135deg,rgba(233,43,255,.10),rgba(45,151,255,.07));
    color:#f4e9ff;font-size:10.5px;font-weight:950;letter-spacing:.10em;text-transform:uppercase;line-height:1
}
.am-private-lock::before{content:"";width:7px;height:7px;border-radius:999px;background:#ff2adf;box-shadow:0 0 14px rgba(255,42,223,.85)}
.am-offline-card{max-width:560px;margin:28px auto;padding:22px;border-radius:28px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(145deg,rgba(16,18,33,.96),rgba(6,7,14,.98));box-shadow:0 24px 70px rgba(0,0,0,.42)}
.am-offline-card h1{margin:10px 0 8px;color:#fff;font-size:30px;line-height:1.04;letter-spacing:-.04em}
.am-offline-card p{margin:0;color:#c8cfdf;font-size:14px;line-height:1.6}
@media (min-width:768px){.am-install-card.is-visible{grid-template-columns:64px 1fr auto}.am-install-icon{width:64px;height:64px}.am-install-actions{grid-column:auto}.am-install-actions .am-btn{min-width:150px}}


/* ============================================================
   Fase 11 - Usuarios / membresías
   ============================================================ */
.am-member-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 16px;}
.am-member-kpi{position:relative;overflow:hidden;min-height:96px;}
.am-member-kpi::after{content:"";position:absolute;right:-30px;top:-38px;width:110px;height:110px;border-radius:999px;background:radial-gradient(circle,rgba(233,43,255,.22),rgba(45,151,255,.10),transparent 68%);filter:blur(.2px);}
.am-member-kpi strong{display:block;color:#fff;font-size:28px;line-height:1;font-weight:950;letter-spacing:-.04em;}
.am-member-kpi span{display:block;margin-top:8px;color:var(--am-muted);font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:900;}
.am-user-row-title{display:flex;align-items:center;gap:10px;min-width:220px;}
.am-user-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:15px;display:grid;place-items:center;color:#fff;font-weight:950;background:linear-gradient(135deg,rgba(233,43,255,.86),rgba(34,215,255,.78));box-shadow:0 10px 22px rgba(34,215,255,.13),0 8px 20px rgba(233,43,255,.14);}
.am-user-row-title strong{display:block;color:#fff;font-size:13px;line-height:1.1;}
.am-user-row-title small{display:block;margin-top:4px;color:var(--am-muted);font-size:11px;line-height:1.2;}
.am-member-detail-hero{display:grid;grid-template-columns:1fr;gap:14px;align-items:center;}
.am-member-profile{display:flex;gap:14px;align-items:center;min-width:0;}
.am-member-profile .am-user-avatar{width:64px;height:64px;flex-basis:64px;border-radius:24px;font-size:24px;}
.am-member-profile h2{margin:0;color:#fff;font-size:25px;line-height:1.05;letter-spacing:-.04em;font-weight:950;}
.am-member-profile p{margin:7px 0 0;color:var(--am-muted);font-size:13px;line-height:1.45;}
.am-member-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.am-member-admin-grid{display:grid;grid-template-columns:1fr;gap:14px;align-items:start;}
.am-member-timeline{display:grid;gap:10px;margin:0;padding:0;list-style:none;}
.am-member-timeline li{position:relative;padding:12px 12px 12px 40px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.025));}
.am-member-timeline li::before{content:"";position:absolute;left:14px;top:16px;width:12px;height:12px;border-radius:999px;background:linear-gradient(135deg,var(--am-neon-pink,#e92bff),var(--am-neon-blue,#22d7ff));box-shadow:0 0 18px rgba(34,215,255,.35);}
.am-member-timeline strong{display:block;color:#fff;font-size:13px;line-height:1.15;}
.am-member-timeline span{display:block;color:var(--am-muted);font-size:11.5px;line-height:1.4;margin-top:4px;}
.am-mini-list{display:grid;gap:8px;}
.am-mini-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.04);}
.am-mini-item strong{display:block;color:#fff;font-size:12.5px;line-height:1.15;}
.am-mini-item span{display:block;margin-top:3px;color:var(--am-muted);font-size:11px;line-height:1.35;}
.am-note-box{border-color:rgba(233,43,255,.22)!important;background:linear-gradient(135deg,rgba(233,43,255,.08),rgba(34,215,255,.045))!important;}
@media (min-width:768px){
  .am-member-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .am-member-detail-hero{grid-template-columns:1fr auto;}
  .am-member-admin-grid{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);}
}
.am-status.SUSPENDIDO,.am-status.ELIMINADO,.am-status.CANCELADA,.am-status.REEMPLAZADA{border-color:rgba(255,76,124,.25);background:rgba(255,76,124,.10);color:#ff7fa7}
.am-status.BLACK,.am-status.VIP{border-color:rgba(34,215,255,.30);background:linear-gradient(135deg,rgba(233,43,255,.14),rgba(34,215,255,.10));color:#dffaff}


/* ============================================================
   AFTERMAN FASE 13 - AfterMap / mapa mobile profesional
   ============================================================ */
.am-map-page{display:grid;gap:16px}
.am-map-toolbar{
    display:grid;
    gap:12px;
    padding:16px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:24px;
    background:linear-gradient(140deg,rgba(17,20,33,.92),rgba(10,12,22,.96));
    box-shadow:0 22px 60px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.04);
}
.am-map-filter-row{display:grid;grid-template-columns:1fr;gap:10px;align-items:end}
.am-map-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.am-map-shell{
    position:relative;
    overflow:hidden;
    min-height:520px;
    border-radius:28px;
    border:1px solid rgba(255,255,255,.13);
    background:
        radial-gradient(circle at 14% 10%,rgba(231,25,211,.18),transparent 34%),
        radial-gradient(circle at 88% 20%,rgba(0,201,255,.18),transparent 38%),
        linear-gradient(145deg,rgba(9,10,18,.96),rgba(2,3,8,.98));
    box-shadow:0 30px 90px rgba(0,0,0,.42),0 0 0 1px rgba(0,201,255,.04);
}
.am-map-canvas{position:absolute;inset:0;min-height:520px;background:#070812}
.am-map-canvas.is-empty{display:grid;place-items:center;text-align:center;padding:24px;color:#dce3f8}
.am-map-canvas.is-empty:before{
    content:"";
    position:absolute;inset:0;
    background:
        linear-gradient(rgba(0,201,255,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(231,25,211,.065) 1px,transparent 1px);
    background-size:42px 42px;
    mask-image:radial-gradient(circle at center,#000 0%,transparent 76%);
    opacity:.75;
}
.am-map-empty-inner{position:relative;z-index:1;max-width:520px;margin:auto}
.am-map-empty-inner h3{margin:0 0 8px;font-size:24px;letter-spacing:-.04em;color:#fff}
.am-map-empty-inner p{margin:0;color:#aeb6cf;line-height:1.55}
.am-map-panel{
    position:relative;
    z-index:2;
    margin:14px;
    max-width:420px;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(8,10,18,.76);
    box-shadow:0 20px 60px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter:blur(18px) saturate(130%);
    -webkit-backdrop-filter:blur(18px) saturate(130%);
    overflow:hidden;
}
.am-map-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 10px;border-bottom:1px solid rgba(255,255,255,.08)}
.am-map-panel-head strong{display:block;color:#fff;font-size:14px;letter-spacing:.01em}
.am-map-panel-head small{display:block;color:#9fa8c3;font-size:11px;margin-top:2px}
.am-map-list{display:grid;gap:10px;max-height:420px;overflow:auto;padding:12px;scrollbar-width:thin;scrollbar-color:rgba(0,201,255,.34) transparent}
.am-map-local{
    display:grid;
    grid-template-columns:64px 1fr;
    gap:11px;
    align-items:center;
    padding:10px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.09);
    background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.035));
    cursor:pointer;
    transition:transform .15s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.am-map-local:hover,.am-map-local.is-active{transform:translateY(-1px);border-color:rgba(0,201,255,.35);box-shadow:0 14px 32px rgba(0,201,255,.10),0 0 0 1px rgba(231,25,211,.12);background:linear-gradient(145deg,rgba(231,25,211,.10),rgba(0,201,255,.08))}
.am-map-local-img{width:64px;height:64px;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,rgba(231,25,211,.28),rgba(0,201,255,.22));border:1px solid rgba(255,255,255,.10)}
.am-map-local-img img{width:100%;height:100%;object-fit:cover;display:block}
.am-map-local-title{margin:0 0 4px;color:#fff;font-weight:950;font-size:14px;line-height:1.12}
.am-map-local-meta{margin:0;color:#aeb6cf;font-size:11.5px;line-height:1.35}
.am-map-local-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.am-map-chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:6px 10px;border-radius:999px;background:rgba(0,201,255,.09);border:1px solid rgba(0,201,255,.18);color:#dff8ff;font-size:11px;font-weight:850}
.am-map-chip.is-open{background:rgba(69,255,161,.10);border-color:rgba(69,255,161,.24);color:#eafff4}
.am-map-chip.is-sponsored{background:rgba(231,25,211,.10);border-color:rgba(231,25,211,.24);color:#ffe6fb}
.am-map-floating{
    position:absolute;
    right:14px;
    bottom:14px;
    z-index:4;
    display:flex;
    flex-direction:column;
    gap:10px;
}
.am-map-fab{width:48px;height:48px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(231,25,211,.92),rgba(0,201,255,.88));color:#fff;font-weight:950;box-shadow:0 16px 38px rgba(0,0,0,.36);display:grid;place-items:center;cursor:pointer}
.am-map-infowindow{color:#111;font-family:Inter,Arial,sans-serif;min-width:210px;max-width:260px}.am-map-infowindow strong{font-size:14px}.am-map-infowindow a{color:#7a0bb2;font-weight:800;text-decoration:none}
.am-map-stat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.am-map-stat{padding:12px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045)}.am-map-stat strong{display:block;color:#fff;font-size:21px}.am-map-stat span{display:block;color:#9fa8c3;font-size:11px;margin-top:2px}
@media(min-width:900px){.am-map-filter-row{grid-template-columns:1.5fr 1fr auto}.am-map-actions{grid-template-columns:auto auto}.am-map-shell{min-height:650px}.am-map-canvas{min-height:650px}.am-map-panel{margin:18px;max-width:460px}.am-map-list{max-height:510px}.am-map-page .am-section-head{max-width:1120px}}
@media(max-width:680px){.am-map-shell{min-height:calc(100dvh - 250px);border-radius:24px}.am-map-canvas{min-height:calc(100dvh - 250px)}.am-map-panel{position:absolute;left:8px;right:8px;bottom:8px;margin:0;max-width:none;border-radius:22px}.am-map-panel-head{padding:12px}.am-map-list{max-height:238px;padding:10px}.am-map-local{grid-template-columns:56px 1fr}.am-map-local-img{width:56px;height:56px}.am-map-floating{right:12px;bottom:272px}.am-map-toolbar{padding:14px;border-radius:22px}.am-map-actions{grid-template-columns:1fr}.am-map-stat-row{grid-template-columns:1fr 1fr}}
.am-admin-map-preview{min-height:260px;border-radius:24px;border:1px solid rgba(255,255,255,.10);background:radial-gradient(circle at 20% 10%,rgba(231,25,211,.16),transparent 34%),radial-gradient(circle at 84% 28%,rgba(0,201,255,.18),transparent 38%),linear-gradient(145deg,#090a12,#020309);display:grid;place-items:center;text-align:center;padding:24px;color:#dfe7ff;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}

/* AFTERMAN Fase 14 - AfterPass / beneficios privados */
.am-pass-hero{
    border-color:rgba(255,0,180,.22)!important;
    background:
        radial-gradient(circle at 8% 0%,rgba(255,0,180,.18),transparent 34%),
        radial-gradient(circle at 100% 18%,rgba(34,215,255,.14),transparent 38%),
        linear-gradient(145deg,rgba(14,15,30,.96),rgba(4,5,13,.99))!important;
}
.am-field-button{display:flex;align-items:flex-end}
.am-field-button .am-btn{width:100%}
.am-benefit-card{
    overflow:hidden;
    padding:0!important;
    border-color:rgba(255,255,255,.10)!important;
    background:linear-gradient(180deg,rgba(18,20,34,.96),rgba(8,9,18,.98))!important;
}
.am-benefit-cover{
    position:relative;
    min-height:168px;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:
        radial-gradient(circle at 18% 15%,rgba(255,0,180,.28),transparent 36%),
        radial-gradient(circle at 100% 12%,rgba(34,215,255,.22),transparent 42%),
        linear-gradient(135deg,#0a0b16,#15172a);
}
.am-benefit-cover img{width:100%;height:100%;min-height:168px;object-fit:cover;display:block;filter:saturate(1.08) contrast(1.04)}
.am-benefit-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(3,4,10,.72));pointer-events:none}
.am-benefit-placeholder{
    width:82px;height:82px;border-radius:28px;display:grid;place-items:center;
    color:#fff;font-size:28px;font-weight:950;letter-spacing:-.08em;
    background:linear-gradient(135deg,rgba(255,0,180,.84),rgba(34,215,255,.82));
    box-shadow:0 24px 60px rgba(255,0,180,.22),0 14px 42px rgba(34,215,255,.16);
}
.am-benefit-type{
    position:absolute;left:12px;bottom:12px;z-index:2;
    padding:8px 10px;border-radius:999px;color:#fff;font-size:11px;font-weight:950;letter-spacing:.09em;text-transform:uppercase;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(5,6,14,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.am-benefit-body{padding:16px;display:grid;gap:12px}
.am-benefit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.am-benefit-head h3{margin:0;color:#fff;font-size:19px;line-height:1.08;letter-spacing:-.03em;font-weight:950}
.am-benefit-head p{margin:5px 0 0;color:#9fa8ba;font-size:12px;font-weight:760}
.am-benefit-meta{display:flex;flex-wrap:wrap;gap:8px;color:#c6ccda;font-size:12px;font-weight:760}
.am-benefit-meta span{padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}
.am-coupon-code{
    display:grid;gap:5px;padding:13px;border-radius:18px;
    border:1px dashed rgba(34,215,255,.36);
    background:linear-gradient(135deg,rgba(34,215,255,.08),rgba(255,0,180,.07));
}
.am-coupon-code small{color:#9fa8ba;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:950}
.am-coupon-code strong{color:#fff;font-size:23px;line-height:1;letter-spacing:.06em;font-weight:950;text-shadow:0 0 18px rgba(34,215,255,.28)}
.am-coupon-code span{color:#d8dded;font-size:12px;font-weight:760}
.am-coupon-card{border-color:rgba(34,215,255,.16)!important;background:linear-gradient(145deg,rgba(15,18,32,.96),rgba(7,8,16,.98))!important}
.am-coupon-card h3{margin:10px 0 4px;color:#fff;font-size:18px;font-weight:950;letter-spacing:-.02em}
.am-empty-state{text-align:center;padding:28px 18px!important}
.am-empty-state h3{margin:0 0 8px;color:#fff;font-size:22px;font-weight:950;letter-spacing:-.03em}
.am-empty-state p{margin:0;color:var(--am-muted);line-height:1.55}
@media (max-width:420px){
    .am-benefit-cover{min-height:148px}
    .am-benefit-cover img{min-height:148px}
    .am-coupon-code strong{font-size:20px}
    .am-bottom-nav a small{font-size:10px}
}


/* AFTERMAN Fase 15 - Verificación, documentos y auditoría */
.am-admin-filter-card{border-color:rgba(34,215,255,.13)!important}
.am-grid-4{grid-template-columns:1fr}
.am-verify-card,.am-doc-card,.am-audit-card{
    border-color:rgba(255,255,255,.10)!important;
    background:
        radial-gradient(circle at 0% 0%,rgba(231,25,211,.08),transparent 36%),
        radial-gradient(circle at 100% 20%,rgba(0,201,255,.07),transparent 38%),
        linear-gradient(145deg,rgba(15,17,31,.96),rgba(5,6,14,.98))!important;
}
.am-verify-main{display:grid;gap:14px;align-items:start}
.am-verify-main h3,.am-doc-card h3,.am-audit-card h3{margin:10px 0 4px;color:#fff;font-size:20px;line-height:1.08;font-weight:950;letter-spacing:-.03em}
.am-verify-main p,.am-doc-card p,.am-audit-card p{margin:0;color:#9fa8ba;font-size:13px;font-weight:760;line-height:1.45}
.am-doc-card small,.am-audit-card small{display:block;margin-top:8px;color:#c7cde0;font-size:12px;line-height:1.55;word-break:break-word}
.am-verify-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.am-verify-stats span{padding:11px 10px;border-radius:17px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);color:#b6bed4;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.am-verify-stats strong{display:block;color:#fff;font-size:22px;line-height:1;font-weight:950;letter-spacing:-.04em}
.am-verify-actions,.am-doc-actions{display:grid;gap:9px;margin-top:14px}
.am-badge-ok{border-color:rgba(88,255,178,.28)!important;background:rgba(88,255,178,.12)!important;color:#9bffd1!important}
.am-badge-warn{border-color:rgba(255,206,80,.30)!important;background:rgba(255,206,80,.12)!important;color:#ffe194!important}
.am-badge-danger{border-color:rgba(255,74,122,.34)!important;background:rgba(255,74,122,.13)!important;color:#ff9ab7!important}
.am-doc-card{display:grid;gap:12px}
.am-audit-card{padding:16px!important}
.am-audit-card .am-badge{width:max-content}
@media(min-width:760px){
    .am-grid-4{grid-template-columns:1.25fr 1fr 1fr auto}
    .am-verify-main{grid-template-columns:1.25fr .9fr;align-items:center}
    .am-verify-actions,.am-doc-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center}
    .am-doc-card{grid-template-columns:1fr auto;align-items:center}
}
@media(max-width:430px){
    .am-verify-stats{grid-template-columns:1fr 1fr}
    .am-verify-actions .am-btn,.am-doc-actions .am-btn{width:100%}
}


/* AFTERMAN Fase 16 - AfterInbox / notificaciones privadas */
.am-inbox-admin-card{border-color:rgba(231,25,211,.16)!important}
.am-inbox-kpis .am-kpi{background:linear-gradient(145deg,rgba(13,16,31,.96),rgba(5,6,14,.98))!important}
.am-inbox-list{display:grid;gap:14px;margin-top:16px}
.am-inbox-card{
    position:relative;overflow:hidden;display:grid;gap:12px;
    border-color:rgba(255,255,255,.10)!important;
    background:
        radial-gradient(circle at 0% 0%,rgba(231,25,211,.10),transparent 36%),
        radial-gradient(circle at 100% 10%,rgba(0,201,255,.08),transparent 40%),
        linear-gradient(145deg,rgba(15,18,33,.96),rgba(6,7,15,.98))!important;
}
.am-inbox-card::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,rgba(231,25,211,.0),rgba(231,25,211,.86),rgba(0,201,255,.80),rgba(0,201,255,.0));opacity:.55}
.am-inbox-unread{box-shadow:0 0 0 1px rgba(231,25,211,.12),0 22px 56px rgba(0,0,0,.30)!important}
.am-inbox-read{opacity:.72;filter:saturate(.86)}
.am-inbox-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.am-inbox-card h3{margin:0;color:#fff;font-size:21px;line-height:1.08;font-weight:950;letter-spacing:-.035em}
.am-inbox-card p{margin:0;color:#d7dcec;font-size:14px;line-height:1.58;font-weight:600;white-space:pre-line}
.am-inbox-meta{display:flex;flex-wrap:wrap;gap:8px;color:#aab3c8;font-size:12px;font-weight:780}
.am-inbox-meta span{padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045)}
.am-badge-cyan{border-color:rgba(0,201,255,.30)!important;background:rgba(0,201,255,.12)!important;color:#9eeeff!important}
.am-badge-soft{border-color:rgba(255,255,255,.13)!important;background:rgba(255,255,255,.07)!important;color:#d9deec!important}
@media(min-width:760px){.am-inbox-list{grid-template-columns:repeat(2,minmax(0,1fr))}.am-inbox-card.am-inbox-unread:first-child{grid-column:1/-1}}
@media(max-width:430px){.am-inbox-card h3{font-size:19px}.am-inbox-card .am-actions .am-btn{width:100%}.am-bottom-nav a small{font-size:9.5px}}


/* AFTERMAN Fase 17 - AfterShield / reportes y moderación */
.am-shield-card,.am-shield-review-card{
    border-color:rgba(255,74,122,.18)!important;
    background:
        radial-gradient(circle at 0% 0%,rgba(255,74,122,.13),transparent 34%),
        radial-gradient(circle at 100% 10%,rgba(0,201,255,.08),transparent 40%),
        linear-gradient(145deg,rgba(15,18,33,.97),rgba(5,6,14,.99))!important;
}
.am-shield-summary{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:14px;border-radius:22px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045)}
.am-shield-icon{width:44px;height:44px;flex:0 0 44px;border-radius:17px;display:grid;place-items:center;color:#fff;font-size:22px;font-weight:950;background:linear-gradient(135deg,rgba(255,74,122,.95),rgba(231,25,211,.88));box-shadow:0 18px 42px rgba(255,74,122,.24)}
.am-shield-summary h3{margin:0;color:#fff;font-size:20px;line-height:1.08;font-weight:950;letter-spacing:-.035em}
.am-shield-summary p{margin:5px 0 0;color:#aeb7cc;font-size:13px;line-height:1.45;font-weight:720}
.am-shield-kpis .am-kpi{background:linear-gradient(145deg,rgba(17,18,33,.98),rgba(5,6,14,.98))!important;border-color:rgba(255,74,122,.12)!important}
.am-shield-review-card{margin-bottom:16px}
.am-shield-detail-text{padding:14px;margin:12px 0 14px;border-radius:18px;border:1px solid rgba(255,255,255,.085);background:rgba(255,255,255,.045);color:#dce2f2;font-size:13px;line-height:1.58;word-break:break-word}
.am-status.PENDIENTE,.am-status.EN_REVISION,.am-status.OBSERVADO,.am-status.RECHAZADO,.am-status.CERRADO{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:950;letter-spacing:.05em;text-transform:uppercase;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#dce2f2}
.am-status.PENDIENTE{border-color:rgba(255,206,80,.30);background:rgba(255,206,80,.12);color:#ffe194}
.am-status.EN_REVISION{border-color:rgba(0,201,255,.30);background:rgba(0,201,255,.12);color:#9eeeff}
.am-status.OBSERVADO{border-color:rgba(231,25,211,.30);background:rgba(231,25,211,.12);color:#ffb2ef}
.am-status.RECHAZADO{border-color:rgba(255,74,122,.34);background:rgba(255,74,122,.13);color:#ff9ab7}
.am-status.CERRADO{border-color:rgba(88,255,178,.28);background:rgba(88,255,178,.12);color:#9bffd1}
@media(max-width:430px){.am-shield-summary{align-items:flex-start}.am-shield-review-card .am-actions .am-btn{width:100%}}

/* ============================================================
   AFTERMAN Fase 18 - AfterInvite / campañas y tarjetas
   ============================================================ */
.am-invite-kpis .am-kpi strong{color:var(--am-neon-pink,#ff2bd6)}
.am-invite-editor,.am-invite-generator{position:relative;overflow:hidden}
.am-invite-editor:before,.am-invite-generator:before{content:"";position:absolute;inset:auto -70px -90px auto;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle,rgba(255,43,214,.22),rgba(0,209,255,.08) 42%,transparent 68%);pointer-events:none}
.am-invite-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px;margin-top:16px}
.am-invite-card{position:relative;overflow:hidden;border-radius:24px;padding:16px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(13,16,30,.94),rgba(5,6,12,.98));box-shadow:0 20px 60px rgba(0,0,0,.35)}
.am-invite-card-glow{position:absolute;inset:-80px -80px auto auto;width:190px;height:190px;border-radius:999px;background:radial-gradient(circle,rgba(255,43,214,.38),rgba(0,209,255,.13) 45%,transparent 70%);filter:blur(2px);pointer-events:none}
.am-invite-card-brand{position:relative;display:flex;align-items:center;gap:10px;color:#fff;font-weight:950;letter-spacing:.03em;text-transform:uppercase;font-size:13px}
.am-invite-card h3{position:relative;margin:18px 0 4px;font-size:24px;letter-spacing:.06em;color:#fff;text-shadow:0 0 22px rgba(255,43,214,.35)}
.am-invite-card p{position:relative;margin:0;color:var(--am-muted,#a8adbb);font-weight:700}
.am-invite-qr-fake{position:relative;margin:16px 0;padding:16px;border-radius:18px;min-height:128px;display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.035));border:1px dashed rgba(255,255,255,.22)}
.am-invite-qr-fake span{display:block;width:72px;height:72px;border-radius:18px;background:repeating-linear-gradient(45deg,#fff 0 7px,#101424 7px 14px);color:#0b0d18;font-weight:950;line-height:72px;box-shadow:0 0 34px rgba(0,209,255,.18)}
.am-invite-qr-fake small{display:block;margin-top:8px;color:#d9e8ff;font-size:12px;font-weight:800}
.am-copy-input{width:100%;min-height:42px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#e9ecff;padding:10px 12px;font-size:12px;box-sizing:border-box}
.am-invite-card-meta{display:flex;justify-content:space-between;gap:8px;margin:10px 0 12px;color:var(--am-muted,#a8adbb);font-size:12px;font-weight:800}
.am-invite-card .am-actions{gap:8px;flex-wrap:wrap}.am-invite-card .am-btn-mini{min-height:38px;padding:9px 11px;border-radius:13px;font-size:12px}
.am-invite-landing{min-height:calc(100dvh - 160px);display:grid;place-items:center;padding:10px 0 26px}.am-invite-landing-card{position:relative;overflow:hidden;width:min(100%,560px);padding:26px 20px 22px;text-align:left}.am-invite-landing-orb{position:absolute;right:-92px;top:-90px;width:250px;height:250px;border-radius:999px;background:radial-gradient(circle,rgba(255,43,214,.35),rgba(0,209,255,.12) 48%,transparent 70%);pointer-events:none}.am-invite-landing h1{position:relative;margin:12px 0 10px;color:#fff;font-size:34px;line-height:1.02;letter-spacing:-.045em}.am-invite-code-box,.am-invite-source{position:relative;margin-top:14px;padding:15px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055)}.am-invite-code-box span,.am-invite-source span{display:block;color:var(--am-muted,#a8adbb);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.am-invite-code-box strong{display:block;margin-top:6px;color:#fff;font-size:28px;letter-spacing:.08em;text-shadow:0 0 22px rgba(255,43,214,.35)}.am-invite-source strong{display:block;margin-top:6px;color:#fff;font-size:19px}.am-invite-source small{display:block;margin-top:5px;color:#c9d5f8;font-weight:700}.am-invite-details{position:relative;display:grid;grid-template-columns:1fr;gap:10px;margin:14px 0}.am-invite-details div{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09)}.am-invite-details span{display:block;color:var(--am-muted,#a8adbb);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.10em}.am-invite-details strong{display:block;margin-top:4px;color:#fff;font-size:14px}.am-invite-actions{position:relative;margin-top:16px}.am-section-head-small{margin-top:26px}
@media print{body.am-body{background:#05060a!important;padding:0!important}.am-topbar,.am-admin-menu,.am-section-head,.am-admin-filter-card,.am-bottom-nav,.am-admin-form-card,.am-table-wrap{display:none!important}.am-admin-layout{display:block!important}.am-admin-content{padding:0!important}.am-invite-card-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:12px!important}.am-invite-card{break-inside:avoid;box-shadow:none!important;border-color:#333!important}}


/* ============================================================
   AFTERMAN Fase 19 - AfterAgenda / eventos nocturnos
   ============================================================ */
.am-agenda-hero{
    border-color:rgba(255,43,214,.22)!important;
    background:
        radial-gradient(circle at 10% 0%,rgba(255,43,214,.24),transparent 38%),
        radial-gradient(circle at 100% 20%,rgba(0,209,255,.16),transparent 42%),
        linear-gradient(145deg,rgba(12,14,28,.98),rgba(4,5,12,.99))!important;
}
.am-agenda-kpis .am-kpi strong{color:var(--am-neon-cyan,#22d7ff)}
.am-agenda-editor{position:relative;overflow:hidden;border-color:rgba(0,209,255,.16)!important}
.am-agenda-editor:before{content:"";position:absolute;right:-90px;top:-100px;width:250px;height:250px;border-radius:999px;background:radial-gradient(circle,rgba(0,209,255,.22),rgba(255,43,214,.11) 46%,transparent 72%);pointer-events:none}
.am-agenda-filter{margin-top:14px;border-color:rgba(255,43,214,.14)!important;background:linear-gradient(145deg,rgba(13,16,30,.94),rgba(6,7,14,.98))!important}
.am-agenda-list{display:grid;gap:16px;margin-top:16px}
.am-agenda-card{position:relative;overflow:hidden;padding:0!important;border-color:rgba(255,255,255,.11)!important;background:linear-gradient(145deg,rgba(13,16,30,.96),rgba(5,6,13,.99))!important;box-shadow:0 20px 60px rgba(0,0,0,.34)}
.am-agenda-card:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,rgba(255,43,214,0),rgba(255,43,214,.80),rgba(0,209,255,.75),rgba(0,209,255,0));opacity:.52;z-index:2}
.am-agenda-featured{box-shadow:0 0 0 1px rgba(255,43,214,.12),0 26px 70px rgba(0,0,0,.42)!important}
.am-agenda-cover{position:relative;min-height:165px;background:radial-gradient(circle at 15% 0%,rgba(255,43,214,.22),transparent 42%),radial-gradient(circle at 100% 25%,rgba(0,209,255,.18),transparent 46%),rgba(255,255,255,.04);display:grid;place-items:center;overflow:hidden}
.am-agenda-cover img{width:100%;height:100%;min-height:165px;object-fit:cover;display:block;filter:saturate(1.08) contrast(1.04)}
.am-agenda-placeholder{width:100%;min-height:165px;display:grid;place-items:center;text-align:center;padding:18px;background:linear-gradient(135deg,rgba(255,43,214,.16),rgba(0,209,255,.10))}
.am-agenda-placeholder strong{display:block;color:#fff;font-size:22px;line-height:1.05;text-transform:uppercase;letter-spacing:.06em;text-shadow:0 0 22px rgba(255,43,214,.34)}
.am-agenda-placeholder small{display:block;margin-top:8px;color:#c7d8ff;font-size:12px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.am-agenda-body{padding:16px;display:grid;gap:10px}
.am-agenda-tags{display:flex;flex-wrap:wrap;gap:7px}
.am-badge-hot{border-color:rgba(255,43,214,.34)!important;background:rgba(255,43,214,.14)!important;color:#ffb3f1!important}
.am-agenda-card h2{margin:0;color:#fff;font-size:23px;line-height:1.05;font-weight:950;letter-spacing:-.04em;text-shadow:0 0 18px rgba(0,209,255,.14)}
.am-agenda-card p{margin:0;color:#d9deef;font-size:14px;line-height:1.58;font-weight:600;white-space:pre-line}
.am-agenda-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;color:#b7c0d7;font-size:12px;font-weight:800}
.am-agenda-meta span{padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.085);background:rgba(255,255,255,.045)}
.am-status.PUBLICADO,.am-status.BORRADOR,.am-status.PAUSADO,.am-status.FINALIZADO{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:950;letter-spacing:.05em;text-transform:uppercase;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#dce2f2}
.am-status.PUBLICADO{border-color:rgba(88,255,178,.28);background:rgba(88,255,178,.12);color:#9bffd1}
.am-status.BORRADOR{border-color:rgba(255,206,80,.30);background:rgba(255,206,80,.12);color:#ffe194}
.am-status.PAUSADO{border-color:rgba(0,201,255,.30);background:rgba(0,201,255,.12);color:#9eeeff}
.am-status.FINALIZADO{border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.07);color:#d9deec}
@media(min-width:760px){
    .am-agenda-list{grid-template-columns:repeat(2,minmax(0,1fr))}
    .am-agenda-card.am-agenda-featured:first-child{grid-column:1/-1;display:grid;grid-template-columns:.9fr 1.1fr;align-items:stretch}
    .am-agenda-card.am-agenda-featured:first-child .am-agenda-cover,.am-agenda-card.am-agenda-featured:first-child .am-agenda-cover img,.am-agenda-card.am-agenda-featured:first-child .am-agenda-placeholder{min-height:260px;height:100%}
}
@media(max-width:430px){
    .am-agenda-card .am-actions .am-btn{width:100%}
    .am-agenda-card h2{font-size:21px}
    .am-agenda-cover,.am-agenda-cover img,.am-agenda-placeholder{min-height:150px}
}


/* ============================================================
   AFTERMAN FASE 20 - AfterReports / reportes comerciales
   ============================================================ */
.am-report-toolbar{
    display:grid;
    gap:12px;
    grid-template-columns:1fr;
    align-items:end;
}
.am-report-toolbar .am-field{min-width:0}
.am-report-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
}
.am-report-table{
    display:grid;
    gap:12px;
}
.am-report-row{
    display:grid;
    gap:10px;
    padding:14px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:20px;
    background:
        linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025)),
        radial-gradient(circle at 95% 0%,rgba(255,0,168,.12),transparent 32%);
    box-shadow:0 14px 30px rgba(0,0,0,.16);
}
.am-report-row-head{
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:flex-start;
}
.am-report-row h3{
    margin:0;
    font-size:16px;
    line-height:1.15;
    color:#fff;
    font-weight:950;
}
.am-report-row small{
    display:block;
    margin-top:4px;
    color:var(--am-muted);
    font-size:12px;
}
.am-report-money{
    color:var(--am-cyan);
    font-weight:950;
    white-space:nowrap;
    text-shadow:0 0 14px rgba(0,229,255,.24);
}
.am-report-metrics{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.am-report-metric{
    padding:10px;
    border-radius:16px;
    background:rgba(0,0,0,.18);
    border:1px solid rgba(255,255,255,.07);
}
.am-report-metric span{
    display:block;
    color:var(--am-muted);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:850;
}
.am-report-metric strong{
    display:block;
    margin-top:4px;
    color:#fff;
    font-size:15px;
    font-weight:950;
}
.am-export-note{
    color:var(--am-muted);
    font-size:12px;
    line-height:1.45;
}
@media (min-width:760px){
    .am-report-toolbar{grid-template-columns:1.2fr .8fr .8fr auto}
    .am-report-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}
}


/* ============================================================
   AFTERMAN FASE 21 - AfterSettings / configuración y catálogos
   ============================================================ */
.am-settings-toolbar{
    display:grid;
    gap:12px;
    grid-template-columns:1fr;
    align-items:end;
}
.am-settings-list{
    display:grid;
    gap:13px;
}
.am-settings-row{
    position:relative;
    overflow:hidden;
    padding:15px;
    border-radius:22px;
    border:1px solid rgba(255,255,255,.10);
    background:
        radial-gradient(circle at 100% 0%,rgba(255,43,214,.14),transparent 34%),
        radial-gradient(circle at 0% 100%,rgba(0,209,255,.10),transparent 42%),
        linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
    box-shadow:0 16px 34px rgba(0,0,0,.20);
    display:grid;
    gap:12px;
}
.am-settings-row-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
}
.am-settings-row h3{
    margin:8px 0 4px;
    color:#fff;
    font-size:17px;
    line-height:1.12;
    font-weight:950;
    letter-spacing:-.02em;
}
.am-settings-row small{
    display:block;
    color:var(--am-muted);
    font-size:11px;
    font-weight:850;
}
.am-settings-row p{
    margin:0;
    color:#cbd2e4;
    font-size:13px;
    line-height:1.48;
    font-weight:600;
}
.am-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:25px;
    padding:5px 9px;
    border-radius:999px;
    color:#bdefff;
    background:rgba(0,209,255,.10);
    border:1px solid rgba(0,209,255,.22);
    font-size:10px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.am-catalog-editor{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
}
.am-checkbox-field{
    display:flex;
    align-items:end;
}
.am-catalog-row .am-actions{
    margin-top:2px;
}
@media (min-width:760px){
    .am-settings-toolbar{grid-template-columns:.75fr 1.2fr .55fr auto}
    .am-catalog-editor{grid-template-columns:repeat(3,minmax(0,1fr))}
    .am-settings-row{padding:18px}
}

/* =========================================================
   AfterMan Fase 23 - Auditoría UI, menús y responsive V1
   Objetivo: navegación completa web/mobile, formularios alineados,
   tablas responsive y menú admin completo.
   ========================================================= */
.am-desktop-nav{
    display:none;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-width:0;
    flex:1 1 auto;
    margin:0 10px;
}
.am-desktop-nav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:9px 12px;
    border-radius:999px;
    color:#dfe8ff!important;
    border:1px solid transparent;
    background:transparent;
    font-size:12px;
    line-height:1;
    font-weight:850;
    text-decoration:none!important;
    white-space:nowrap;
    transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.am-desktop-nav a:hover,
.am-desktop-nav a:focus{
    color:#fff!important;
    background:linear-gradient(135deg,rgba(255,33,203,.13),rgba(34,215,255,.10));
    border-color:rgba(255,255,255,.10);
    box-shadow:0 0 18px rgba(255,33,203,.10),0 0 18px rgba(34,215,255,.08);
    outline:none;
}

/* Mobile bottom nav: todas las opciones quedan navegables sin romper la altura. */
html body.am-body .am-bottom-nav{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    grid-template-columns:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:6px!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
}
html body.am-body .am-bottom-nav::-webkit-scrollbar{display:none!important;}
html body.am-body .am-bottom-nav a{
    flex:0 0 64px!important;
    min-width:64px!important;
    max-width:72px!important;
}
html body.am-body .am-bottom-nav a[id$="lnkAdminBottom"]{
    flex-basis:68px!important;
    max-width:76px!important;
}

/* Formularios: neutraliza Bootstrap/plantilla ASP.NET y alinea todo. */
html body.am-body .am-form,
html body.am-body .am-admin-toolbar,
html body.am-body .am-report-toolbar,
html body.am-body .am-map-filter-row,
html body.am-body .am-filter-grid,
html body.am-body .am-grid.am-form-grid{
    width:100%!important;
    max-width:none!important;
    align-items:end!important;
}
html body.am-body .am-field,
html body.am-body .am-form > div,
html body.am-body .am-report-toolbar > div,
html body.am-body .am-map-filter-row > div,
html body.am-body .am-admin-toolbar > div{
    min-width:0!important;
    width:100%!important;
}
html body.am-body .am-input,
html body.am-body .am-select,
html body.am-body .am-textarea,
html body.am-body input[type="text"],
html body.am-body input[type="password"],
html body.am-body input[type="email"],
html body.am-body input[type="number"],
html body.am-body input[type="date"],
html body.am-body input[type="time"],
html body.am-body select,
html body.am-body textarea{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
}
html body.am-body .am-actions{
    align-items:center!important;
}
html body.am-body .am-actions .am-btn,
html body.am-body .am-actions input[type="submit"],
html body.am-body .am-actions input[type="button"]{
    min-width:0;
}
html body.am-body .am-field-button,
html body.am-body .am-report-actions,
html body.am-body .am-map-actions{
    display:flex!important;
    gap:9px!important;
    flex-wrap:wrap!important;
    align-items:end!important;
}
html body.am-body .am-field-button .am-btn,
html body.am-body .am-report-actions .am-btn,
html body.am-body .am-map-actions .am-btn,
html body.am-body .am-field-button input[type="submit"],
html body.am-body .am-report-actions input[type="submit"],
html body.am-body .am-map-actions input[type="submit"]{
    width:100%!important;
}

/* Las cards públicas dejan de quedar angostas en web, pero los auth siguen compactos. */
@media (min-width:768px){
    .am-desktop-nav{display:flex;}
    html body.am-body .am-page-shell{
        max-width:1220px!important;
        padding-left:26px!important;
        padding-right:26px!important;
    }
    html body.am-body .am-page-shell > .am-card:not(.am-auth-card),
    html body.am-body .am-page-shell > .am-hero:not(.am-auth-card){
        max-width:none!important;
    }
    html body.am-body .am-auth-card,
    html body.am-body .am-page-shell > .am-card.am-auth-card{
        max-width:560px!important;
    }
    html body.am-body .am-bottom-nav{display:none!important;}
    html body.am-body .am-field-button .am-btn,
    html body.am-body .am-report-actions .am-btn,
    html body.am-body .am-map-actions .am-btn,
    html body.am-body .am-field-button input[type="submit"],
    html body.am-body .am-report-actions input[type="submit"],
    html body.am-body .am-map-actions input[type="submit"]{
        width:auto!important;
    }
    html body.am-body .am-actions .am-btn,
    html body.am-body .am-actions input[type="submit"],
    html body.am-body .am-actions input[type="button"]{
        width:auto!important;
    }
}
@media (min-width:1180px){
    .am-desktop-nav a{padding-left:14px;padding-right:14px;font-size:12.5px;}
}
@media (max-width:420px){
    html body.am-body .am-top-actions .am-pill-link:not(.am-pill-admin){display:none!important;}
    html body.am-body .am-bottom-nav a{flex-basis:62px!important;min-width:62px!important;}
}

/* Admin menu: completo, navegable y sin desbordes. */
html body.am-admin-body .am-admin-layout{
    width:100%!important;
    max-width:1460px!important;
}
html body.am-admin-body .am-admin-menu{
    min-width:0!important;
}
html body.am-admin-body .am-admin-menu a{
    overflow:hidden;
    text-overflow:ellipsis;
}
@media (max-width:767px){
    html body.am-admin-body .am-admin-menu{
        display:flex!important;
        flex-direction:row!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        position:sticky!important;
        top:64px!important;
        z-index:65!important;
        scrollbar-width:none!important;
    }
    html body.am-admin-body .am-admin-menu::-webkit-scrollbar{display:none!important;}
    html body.am-admin-body .am-admin-menu a{
        flex:0 0 auto!important;
        max-width:none!important;
    }
}
@media (min-width:768px){
    html body.am-admin-body .am-admin-layout{
        grid-template-columns:260px minmax(0,1fr)!important;
    }
    html body.am-admin-body .am-admin-menu{
        max-height:calc(100dvh - 112px)!important;
        overflow-y:auto!important;
        padding-right:8px!important;
        scrollbar-width:thin!important;
    }
}

/* Tablas y grillas WebForms: responsive real. */
html body.am-body .am-table-wrap,
html body.am-body .am-report-table,
html body.am-body .table-responsive{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
}
html body.am-body table.am-table,
html body.am-body .am-table-wrap table,
html body.am-body .am-card table,
html body.am-admin-body table{
    width:100%!important;
    border-collapse:separate!important;
    border-spacing:0!important;
}
@media (max-width:767px){
    html body.am-body .am-table-wrap table,
    html body.am-body .am-card table,
    html body.am-admin-body table{
        min-width:760px!important;
    }
}

/* Cards/listados: separación y consistencia entre móvil y web. */
html body.am-body .am-local-card,
html body.am-body .am-favorite-card,
html body.am-body .am-route-stop,
html body.am-body .am-agenda-card,
html body.am-body .am-inbox-card,
html body.am-body .am-pass-card{
    min-width:0!important;
}
html body.am-body .am-local-title,
html body.am-body .am-route-stop-top,
html body.am-body .am-report-row-head{
    min-width:0!important;
}
html body.am-body .am-local-title h3,
html body.am-body .am-route-stop h3,
html body.am-body .am-report-row h3{
    overflow-wrap:anywhere!important;
}


/* =========================================================
   AfterMan Fase 34 - Admin UX final y menú completo
   ========================================================= */
html body.am-admin-body .am-admin-layout{
    max-width:1440px !important;
    gap:18px !important;
}
html body.am-admin-body .am-admin-menu{
    display:flex !important;
    flex-direction:column !important;
    gap:6px !important;
    max-height:calc(100vh - 120px) !important;
    overflow:auto !important;
    padding:12px !important;
    border-radius:22px !important;
    background:linear-gradient(180deg,rgba(10,12,24,.92),rgba(6,7,14,.96)) !important;
    border:1px solid rgba(255,255,255,.09) !important;
    box-shadow:0 16px 42px rgba(0,0,0,.28) !important;
    scrollbar-width:thin !important;
}
html body.am-admin-body .am-admin-menu::-webkit-scrollbar{width:7px !important;}
html body.am-admin-body .am-admin-menu::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16) !important;border-radius:999px !important;}
html body.am-admin-body .am-admin-group-title{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    margin:10px 6px 4px !important;
    color:#8e9ab5 !important;
    font-size:10px !important;
    line-height:1 !important;
    text-transform:uppercase !important;
    letter-spacing:.13em !important;
    font-weight:950 !important;
}
html body.am-admin-body .am-admin-group-title:first-child{margin-top:2px !important;}
html body.am-admin-body .am-admin-group-title::before{
    content:"";
    width:6px;
    height:6px;
    border-radius:999px;
    background:linear-gradient(135deg,var(--am-neon-pink),var(--am-neon-blue));
    box-shadow:0 0 12px rgba(34,215,255,.28);
}
html body.am-admin-body .am-admin-menu a{
    display:flex !important;
    align-items:center !important;
    min-height:38px !important;
    padding:10px 12px !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.035) !important;
    border:1px solid rgba(255,255,255,.06) !important;
    color:#eaf1ff !important;
    font-size:12.5px !important;
    font-weight:820 !important;
    line-height:1.15 !important;
    white-space:normal !important;
    box-shadow:none !important;
}
html body.am-admin-body .am-admin-menu a:hover,
html body.am-admin-body .am-admin-menu a:focus{
    color:#fff !important;
    background:linear-gradient(90deg,rgba(255,33,203,.13),rgba(34,215,255,.12)) !important;
    border-color:rgba(34,215,255,.24) !important;
    outline:none !important;
}
html body.am-admin-body .am-admin-menu a.am-admin-danger-link{
    border-color:rgba(255,70,120,.18) !important;
    color:#ffc2d9 !important;
}
html body.am-admin-body .am-admin-content{
    min-width:0 !important;
}
html body.am-admin-body .am-admin-topbar .am-pill-link{
    min-height:36px !important;
}
@media (max-width:767px){
    html body.am-admin-body .am-admin-layout{
        padding:12px !important;
        grid-template-columns:1fr !important;
    }
    html body.am-admin-body .am-admin-menu{
        position:relative !important;
        top:auto !important;
        max-height:310px !important;
    }
}
@media (min-width:768px){
    html body.am-admin-body .am-admin-layout{
        grid-template-columns:280px minmax(0,1fr) !important;
    }
}

/* =========================================================
   AfterMan Fase 40 - DropdownList profesional unificado
   Objetivo: todos los asp:DropDownList con CssClass="am-select"
   se ven simples, legibles y consistentes en Admin, Partner y público.
   ========================================================= */
html body.am-body select.am-select:not(.am-select-native),
html body.am-body .am-form select:not(.am-select-native),
html body.am-body .am-card select:not(.am-select-native),
html body.am-body .am-admin-toolbar select:not(.am-select-native),
html body.am-body .am-filter-card select:not(.am-select-native){
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:46px !important;
    min-height:46px !important;
    box-sizing:border-box !important;
    margin:0 !important;
    padding:0 42px 0 14px !important;
    border-radius:12px !important;
    border:1px solid rgba(148,163,184,.24) !important;
    color:#eef2ff !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
    cursor:pointer !important;
    outline:0 !important;
    color-scheme:dark !important;
    -webkit-appearance:none !important;
    appearance:none !important;
    background:
        linear-gradient(45deg,transparent 50%,rgba(226,232,240,.88) 50%) calc(100% - 22px) calc(50% - 3px)/6px 6px no-repeat,
        linear-gradient(135deg,rgba(226,232,240,.88) 50%,transparent 50%) calc(100% - 16px) calc(50% - 3px)/6px 6px no-repeat,
        linear-gradient(180deg,rgba(255,255,255,.082),rgba(255,255,255,.045)) padding-box !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 10px 24px rgba(0,0,0,.14) !important;
    transition:border-color .15s ease,background .15s ease,box-shadow .15s ease !important;
}
html body.am-body select.am-select:not(.am-select-native):hover,
html body.am-body .am-form select:not(.am-select-native):hover,
html body.am-body .am-card select:not(.am-select-native):hover,
html body.am-body .am-admin-toolbar select:not(.am-select-native):hover,
html body.am-body .am-filter-card select:not(.am-select-native):hover{
    border-color:rgba(203,213,225,.34) !important;
    background:
        linear-gradient(45deg,transparent 50%,#ffffff 50%) calc(100% - 22px) calc(50% - 3px)/6px 6px no-repeat,
        linear-gradient(135deg,#ffffff 50%,transparent 50%) calc(100% - 16px) calc(50% - 3px)/6px 6px no-repeat,
        linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.055)) padding-box !important;
}
html body.am-body select.am-select:not(.am-select-native):focus,
html body.am-body .am-form select:not(.am-select-native):focus,
html body.am-body .am-card select:not(.am-select-native):focus,
html body.am-body .am-admin-toolbar select:not(.am-select-native):focus,
html body.am-body .am-filter-card select:not(.am-select-native):focus{
    border-color:rgba(56,189,248,.62) !important;
    box-shadow:0 0 0 3px rgba(56,189,248,.13),inset 0 1px 0 rgba(255,255,255,.07) !important;
}
html body.am-body select.am-select:not(.am-select-native):disabled,
html body.am-body .am-form select:not(.am-select-native):disabled,
html body.am-body .am-card select:not(.am-select-native):disabled{
    opacity:.58 !important;
    cursor:not-allowed !important;
}
html body.am-body select.am-select option,
html body.am-body .am-form select option,
html body.am-body .am-card select option{
    background:#101320 !important;
    color:#f8fafc !important;
    font-size:14px !important;
    font-weight:650 !important;
}
html body.am-body select.am-select option:checked,
html body.am-body .am-form select option:checked,
html body.am-body .am-card select option:checked{
    background:#1e293b !important;
    color:#ffffff !important;
}

html body.am-body .am-select-host{
    position:relative !important;
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}
html body.am-body .am-select-host .am-select-native{
    position:absolute !important;
    inset:0 auto auto 0 !important;
    width:1px !important;
    height:1px !important;
    min-height:1px !important;
    max-width:1px !important;
    max-height:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
    z-index:-1 !important;
    overflow:hidden !important;
}
html body.am-body .am-select-button{
    width:100% !important;
    min-height:46px !important;
    height:46px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    box-sizing:border-box !important;
    margin:0 !important;
    padding:0 14px !important;
    border-radius:12px !important;
    border:1px solid rgba(148,163,184,.24) !important;
    color:#eef2ff !important;
    text-align:left !important;
    font-family:inherit !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:750 !important;
    letter-spacing:0 !important;
    cursor:pointer !important;
    outline:0 !important;
    background:linear-gradient(180deg,rgba(255,255,255,.082),rgba(255,255,255,.045)) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 10px 24px rgba(0,0,0,.14) !important;
    transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease !important;
}
html body.am-body .am-select-button:hover{
    border-color:rgba(203,213,225,.34) !important;
    background:linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.055)) !important;
}
html body.am-body .am-select-host.is-open .am-select-button,
html body.am-body .am-select-host.is-focused .am-select-button{
    border-color:rgba(56,189,248,.62) !important;
    background:linear-gradient(180deg,rgba(255,255,255,.115),rgba(255,255,255,.058)) !important;
    box-shadow:0 0 0 3px rgba(56,189,248,.13),inset 0 1px 0 rgba(255,255,255,.07) !important;
}
html body.am-body .am-select-host.is-disabled .am-select-button{
    opacity:.58 !important;
    cursor:not-allowed !important;
}
html body.am-body .am-select-value{
    display:block !important;
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}
html body.am-body .am-select-value.is-placeholder{
    color:rgba(226,232,240,.62) !important;
    font-weight:700 !important;
}
html body.am-body .am-select-arrow{
    width:8px !important;
    height:8px !important;
    flex:0 0 8px !important;
    border-right:2px solid rgba(226,232,240,.86) !important;
    border-bottom:2px solid rgba(226,232,240,.86) !important;
    transform:rotate(45deg) translateY(-2px) !important;
    filter:none !important;
    transition:transform .15s ease,border-color .15s ease !important;
}
html body.am-body .am-select-host.is-open .am-select-arrow{
    transform:rotate(-135deg) translateY(-1px) !important;
    border-color:#ffffff !important;
}
html body.am-body .am-select-menu{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:calc(100% + 6px) !important;
    bottom:auto !important;
    z-index:99999 !important;
    display:none !important;
    overflow:auto !important;
    max-height:260px !important;
    box-sizing:border-box !important;
    padding:6px !important;
    border-radius:14px !important;
    border:1px solid rgba(148,163,184,.22) !important;
    background:linear-gradient(180deg,rgba(17,21,35,.98),rgba(9,12,23,.99)) !important;
    box-shadow:0 24px 58px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.055) !important;
    backdrop-filter:blur(14px) saturate(130%) !important;
    -webkit-backdrop-filter:blur(14px) saturate(130%) !important;
}
html body.am-body .am-select-host.is-drop-up .am-select-menu{
    top:auto !important;
    bottom:calc(100% + 6px) !important;
}
html body.am-body .am-select-host.is-open .am-select-menu{
    display:block !important;
}
html body.am-body .am-select-option{
    width:100% !important;
    min-height:38px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    box-sizing:border-box !important;
    border:0 !important;
    border-radius:10px !important;
    padding:9px 10px !important;
    color:#e5e7eb !important;
    text-align:left !important;
    font-family:inherit !important;
    font-size:13.5px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    background:transparent !important;
    cursor:pointer !important;
    transition:background .12s ease,color .12s ease !important;
}
html body.am-body .am-select-option:hover,
html body.am-body .am-select-option:focus,
html body.am-body .am-select-option.is-hover{
    outline:0 !important;
    color:#ffffff !important;
    background:rgba(148,163,184,.13) !important;
}
html body.am-body .am-select-option.is-selected{
    color:#ffffff !important;
    background:rgba(56,189,248,.16) !important;
}
html body.am-body .am-select-option.is-selected::after{
    content:"✓" !important;
    flex:0 0 auto !important;
    color:#7dd3fc !important;
    font-weight:950 !important;
    text-shadow:none !important;
}
html body.am-body .am-select-option.is-placeholder{
    color:rgba(226,232,240,.60) !important;
}
html body.am-body .am-select-option.is-disabled{
    opacity:.45 !important;
    cursor:not-allowed !important;
}
html body.am-body .am-select-menu::-webkit-scrollbar{width:8px !important;}
html body.am-body .am-select-menu::-webkit-scrollbar-track{background:rgba(255,255,255,.035) !important;border-radius:999px !important;}
html body.am-body .am-select-menu::-webkit-scrollbar-thumb{background:rgba(148,163,184,.46) !important;border-radius:999px !important;border:2px solid rgba(9,12,23,.99) !important;}
@media(max-width:767px){
    html body.am-body select.am-select:not(.am-select-native),
    html body.am-body .am-select-button{
        height:48px !important;
        min-height:48px !important;
        font-size:14.5px !important;
    }
    html body.am-body .am-select-option{
        min-height:42px !important;
        font-size:14px !important;
    }
}


/* ============================================================
   AFTERMAN HOTFIX FASE 41.1 - Navegación web pública profesional
   Problema corregido: .am-public-nav quedaba sin estilo y se veía
   como texto plano en todas las páginas web.
   ============================================================ */
html body.am-body .am-public-nav{
    display:none;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:10px 18px;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    border-top:1px solid rgba(255,255,255,.06);
    border-bottom:1px solid rgba(255,255,255,.08);
    background:
        radial-gradient(circle at 0% 0%,rgba(255,33,203,.12),transparent 34%),
        radial-gradient(circle at 100% 0%,rgba(34,215,255,.10),transparent 36%),
        linear-gradient(180deg,rgba(8,10,22,.94),rgba(4,6,15,.92));
    box-shadow:0 12px 26px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.04);
    backdrop-filter:blur(16px) saturate(125%);
    -webkit-backdrop-filter:blur(16px) saturate(125%);
}
html body.am-body .am-public-nav::-webkit-scrollbar{display:none;}
html body.am-body .am-public-nav a{
    flex:0 0 auto;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:8px 13px;
    border-radius:999px;
    color:#dfe7f6!important;
    text-decoration:none!important;
    white-space:nowrap;
    line-height:1;
    font-size:13px;
    font-weight:850;
    letter-spacing:.005em;
    border:1px solid rgba(255,255,255,.09);
    background:linear-gradient(180deg,rgba(255,255,255,.064),rgba(255,255,255,.030));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
    transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}
html body.am-body .am-public-nav a:hover,
html body.am-body .am-public-nav a:focus{
    color:#fff!important;
    background:linear-gradient(135deg,rgba(255,33,203,.16),rgba(34,215,255,.13));
    border-color:rgba(34,215,255,.24);
    box-shadow:0 0 18px rgba(255,33,203,.10),0 0 18px rgba(34,215,255,.08),inset 0 1px 0 rgba(255,255,255,.06);
    outline:none!important;
}
html body.am-body .am-public-nav a:active{transform:translateY(1px);}

/* En web mostramos la navegación superior profesional; en móvil usa bottom-nav. */
@media (min-width:768px){
    html body.am-body .am-public-nav{display:flex!important;}
    html body.am-body .am-bottom-nav{display:none!important;}
}
@media (max-width:767px){
    html body.am-body .am-public-nav{display:none!important;}
}

/* El banner PWA se pensó para mobile. En versión web ocupaba demasiado espacio. */
@media (min-width:768px){
    html body.am-body #amInstallCard.am-install-card,
    html body.am-body #amInstallCard.am-install-card.is-visible{
        display:none!important;
        visibility:hidden!important;
        height:0!important;
        min-height:0!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
        overflow:hidden!important;
    }
}
@media (max-width:767px){
    html body.am-body #amInstallCard.am-install-card.is-visible{
        margin-top:10px!important;
        margin-bottom:14px!important;
    }
}

/* Evita que menús públicos/admin se transformen en texto plano si alguna regla externa falla. */
html body.am-body .am-public-admin-menu a,
html body.am-body .am-public-nav a,
html body.am-body .am-topbar a,
html body.am-body .am-bottom-nav a{
    text-decoration:none!important;
}

