/* ===================================================
   CLIENTE TUevento — UI unificada
=================================================== */
*{box-sizing:border-box}

:root{
    --c-bg:#F5F2ED;
    --c-surface:rgba(255,255,255,.72);
    --c-card:#fff;
    --c-card-2:#F8F4EF;
    --c-text:#241B18;
    --c-muted:#7E736C;
    --c-line:rgba(43,33,29,.13);
    --c-accent:#D8918E;
    --c-accent-2:#C8917C;
    --c-soft:#F6E8E2;
    --c-ink:#211815;
    --c-ink-invert:#fff;
    --c-shadow:0 24px 68px rgba(43,33,29,.12);
    --c-shadow-soft:0 14px 34px rgba(43,33,29,.08);
}

html[data-theme="dark"]{
    --c-bg:#06070B;
    --c-surface:rgba(15,23,42,.70);
    --c-card:rgba(17,24,39,.76);
    --c-card-2:rgba(255,255,255,.045);
    --c-text:#F5F5F4;
    --c-muted:rgba(255,255,255,.62);
    --c-line:rgba(255,255,255,.08);
    --c-accent:#8B5CF6;
    --c-accent-2:#A855F7;
    --c-soft:rgba(139,92,246,.14);
    --c-ink:#F5F5F4;
    --c-ink-invert:#06070B;
    --c-shadow:0 28px 80px rgba(0,0,0,.42);
    --c-shadow-soft:0 14px 34px rgba(0,0,0,.26);
}

body{
    margin:0;
    min-height:100vh;
    font-family:Inter, Montserrat, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color:var(--c-text);
    background:
        radial-gradient(circle at 8% 4%, color-mix(in srgb,var(--c-accent) 22%, transparent), transparent 32%),
        radial-gradient(circle at 92% 8%, color-mix(in srgb,var(--c-accent-2) 16%, transparent), transparent 28%),
        var(--c-bg);
    overflow-x:hidden;
}

a{color:inherit}

.client-layout{
    min-height:100vh;
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
}

.client-sidebar{
    position:sticky;
    top:0;
    height:100vh;
    padding:34px 18px;
    border-right:1px solid var(--c-line);
    background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.08));
    backdrop-filter:blur(18px);
    display:flex;
    flex-direction:column;
    gap:32px;
}

html[data-theme="dark"] .client-sidebar{
    background:linear-gradient(180deg,rgba(139,92,246,.16),rgba(6,7,11,.72));
}

.client-logo{
    display:block;
    padding:0 12px;
    text-decoration:none;
    font-size:32px;
    font-weight:950;
    letter-spacing:-.075em;
    color:var(--c-text);
}

.client-logo span{color:var(--c-accent)}

.client-nav{
    display:grid;
    gap:8px;
}

.client-nav a{
    min-height:54px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 14px;
    border-radius:18px;
    color:var(--c-muted);
    text-decoration:none;
    font-size:14px;
    font-weight:950;
}

.client-nav a.active{
    background:linear-gradient(135deg,var(--c-accent),var(--c-accent-2));
    color:#fff;
    box-shadow:0 18px 42px color-mix(in srgb,var(--c-accent) 28%, transparent);
}

.nav-ico{
    width:26px;
    font-size:22px;
    line-height:1;
}

.client-sidebar-card{
    margin-top:auto;
    padding:20px;
    border-radius:24px;
    background:var(--c-surface);
    border:1px solid var(--c-line);
    box-shadow:var(--c-shadow-soft);
}

.client-sidebar-card strong{
    display:block;
    font-size:16px;
    line-height:1.2;
}

.client-sidebar-card p{
    margin:10px 0 16px;
    color:var(--c-muted);
    font-size:13px;
    line-height:1.45;
    font-weight:700;
}

.client-sidebar-card a{
    min-height:42px;
    border-radius:999px;
    background:var(--c-ink);
    color:var(--c-ink-invert);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 16px;
    text-decoration:none;
    font-size:13px;
    font-weight:950;
}

.client-content{
    min-width:0;
    padding:28px;
}

.client-inner{
    max-width:1180px;
    margin:0 auto;
}

.top-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-bottom:16px;
}

.theme-toggle,
.top-pill{
    min-height:48px;
    border-radius:999px;
    border:1px solid var(--c-line);
    background:var(--c-surface);
    color:var(--c-text);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 16px;
    font-size:13px;
    font-weight:950;
    text-decoration:none;
    box-shadow:var(--c-shadow-soft);
    cursor:pointer;
}

.theme-toggle{
    width:48px;
    padding:0;
    font-size:20px;
}

.hero{
    min-height:280px;
    position:relative;
    overflow:hidden;
    border-radius:34px;
    padding:34px;
    color:#fff;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:22px;
    background:
        linear-gradient(90deg, rgba(43,33,29,.92), rgba(43,33,29,.66), rgba(74,41,41,.18)),
        radial-gradient(circle at 72% 22%, rgba(255,253,252,.20), transparent 16%),
        radial-gradient(circle at 25% 28%, rgba(232,140,140,.28), transparent 30%),
        linear-gradient(135deg,#2B211D,#4A2929);
    box-shadow:var(--c-shadow);
    margin-bottom:22px;
}

html[data-theme="dark"] .hero{
    background:
        linear-gradient(90deg, rgba(6,7,11,.92), rgba(6,7,11,.66), rgba(11,16,32,.18)),
        radial-gradient(circle at 72% 22%, rgba(255,255,255,.14), transparent 16%),
        radial-gradient(circle at 25% 28%, rgba(139,92,246,.34), transparent 30%),
        linear-gradient(135deg,#06070B,#0B1020);
}

.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(115deg,rgba(255,255,255,.07),transparent 38%);
    pointer-events:none;
}

.hero>*{position:relative;z-index:1}

.kicker{
    width:max-content;
    max-width:100%;
    min-height:34px;
    display:inline-flex;
    align-items:center;
    padding:0 14px;
    border-radius:999px;
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.22);
    color:rgba(255,255,255,.92);
    font-size:12px;
    font-weight:950;
    margin-bottom:18px;
}

.hero h1{
    margin:0;
    font-size:clamp(42px,5vw,66px);
    line-height:.9;
    letter-spacing:-.075em;
}

.hero h1 span{color:var(--c-accent)}

.hero p{
    margin:14px 0 0;
    max-width:700px;
    color:rgba(255,255,255,.75);
    font-size:16px;
    line-height:1.55;
}

.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:flex-end;
}

.btn{
    min-height:48px;
    border-radius:999px;
    border:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 18px;
    font-size:14px;
    font-weight:950;
    text-decoration:none;
    cursor:pointer;
}

.btn-light{background:#fff;color:#211815}
.btn-dark{background:var(--c-ink);color:var(--c-ink-invert)}
.btn-soft{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff}
.btn-danger{background:#FFF0F0;color:#D33A3A}

.metrics{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    margin-bottom:22px;
}

.metric{
    min-height:126px;
    border-radius:28px;
    padding:22px;
    background:var(--c-surface);
    border:1px solid var(--c-line);
    box-shadow:var(--c-shadow-soft);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.metric.main{
    background:var(--c-ink);
    color:var(--c-ink-invert);
}

html[data-theme="dark"] .metric.main{
    background:rgba(15,23,42,.72);
    color:#fff;
}

.metric span{
    color:var(--c-muted);
    font-size:12px;
    font-weight:950;
}

.metric.main span{color:rgba(255,255,255,.72)}

.metric strong{
    font-size:42px;
    line-height:.9;
    letter-spacing:-.07em;
}

.metric small{
    color:var(--c-muted);
    font-size:12px;
    font-weight:800;
    line-height:1.35;
}

.metric.main small{color:rgba(255,255,255,.72)}

.grid-2{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:22px;
    align-items:start;
}

.panel{
    border-radius:30px;
    background:var(--c-surface);
    border:1px solid var(--c-line);
    box-shadow:var(--c-shadow);
    padding:26px;
    margin-bottom:22px;
    backdrop-filter:blur(18px);
}

.panel h2{
    margin:0;
    font-size:32px;
    line-height:.95;
    letter-spacing:-.06em;
}

.panel p{
    margin:8px 0 0;
    color:var(--c-muted);
    font-size:14px;
    line-height:1.45;
}

.panel-head{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:flex-start;
    margin-bottom:18px;
}

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

.provider-card,
.inquiry-card,
.profile-card{
    border:1px solid var(--c-line);
    background:var(--c-card);
    border-radius:24px;
    box-shadow:var(--c-shadow-soft);
    overflow:hidden;
}

html[data-theme="dark"] .provider-card,
html[data-theme="dark"] .inquiry-card,
html[data-theme="dark"] .profile-card{
    background:rgba(17,24,39,.72);
}

.provider-row{
    display:grid;
    grid-template-columns:76px minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:14px;
}

.cover-mini{
    width:76px;
    height:76px;
    border-radius:18px;
    background:var(--c-soft);
    object-fit:cover;
    overflow:hidden;
}

.provider-title strong{
    display:block;
    font-size:18px;
    line-height:1.1;
}

.provider-title span{
    display:block;
    margin-top:6px;
    color:var(--c-muted);
    font-size:12px;
    font-weight:850;
}

.badge{
    min-height:30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    padding:0 11px;
    font-size:11px;
    font-weight:950;
    background:var(--c-card-2);
    border:1px solid var(--c-line);
    color:var(--c-muted);
    white-space:nowrap;
}

.badge.ok{background:#EAF8EF;color:#16803A;border-color:rgba(22,128,58,.18)}
.badge.warn{background:#FFF6E8;color:#B45309;border-color:rgba(180,83,9,.18)}
.badge.danger{background:#FFF0F0;color:#D33A3A;border-color:rgba(211,58,58,.18)}

.actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.mini{
    min-height:40px;
    border-radius:999px;
    border:1px solid var(--c-line);
    background:var(--c-card);
    color:var(--c-text);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 14px;
    font-size:12px;
    font-weight:950;
    text-decoration:none;
    cursor:pointer;
}

html[data-theme="dark"] .mini{background:#0F172A}

.mini.accent{background:var(--c-accent);color:#fff;border-color:transparent}
.mini.danger{background:#FFF0F0;color:#D33A3A;border-color:transparent}

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

.form-grid .full{grid-column:1/-1}

label .label{
    display:block;
    font-size:11px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:var(--c-muted);
    margin-bottom:6px;
}

input, textarea, select{
    width:100%;
    min-height:52px;
    border-radius:18px;
    border:1px solid var(--c-line);
    background:var(--c-card-2);
    color:var(--c-text);
    padding:0 16px;
    font-size:14px;
    font-weight:800;
    outline:none;
}

textarea{
    padding:14px 16px;
    min-height:110px;
    resize:vertical;
}

html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select{
    background:#111827;
    border-color:#1F2937;
}

input:focus, textarea:focus, select:focus{
    border-color:var(--c-accent);
    box-shadow:0 0 0 4px var(--c-soft);
}

.notice{
    padding:14px 16px;
    border-radius:18px;
    margin-bottom:16px;
    font-size:14px;
    font-weight:850;
}

.notice.ok{background:#EAF8EF;color:#16803A}
.notice.error{background:#FFF0F0;color:#D33A3A}

.empty{
    min-height:150px;
    border-radius:24px;
    border:1px dashed var(--c-line);
    color:var(--c-muted);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:6px;
}

.empty strong{color:var(--c-text);font-size:20px}

.client-mobile-nav{display:none}

.auth-page{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.auth-shell{
    width:min(1080px,100%);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,460px);
    gap:28px;
}

.auth-brand,
.auth-panel{
    border-radius:36px;
    box-shadow:var(--c-shadow);
}

.auth-brand{
    min-height:620px;
    padding:40px;
    color:#fff;
    background:linear-gradient(135deg,#2B211D,#4A2929);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

html[data-theme="dark"] .auth-brand{background:linear-gradient(135deg,#06070B,#0B1020)}

.auth-brand .client-logo{color:#fff;padding:0}
.auth-brand h1{font-size:clamp(44px,6vw,72px);line-height:.9;letter-spacing:-.08em;margin:0}
.auth-brand h1 span{color:var(--c-accent)}
.auth-brand p{color:rgba(255,255,255,.72);line-height:1.55}

.auth-panel{
    background:var(--c-surface);
    border:1px solid var(--c-line);
    padding:34px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    position:relative;
}

.auth-panel h2{font-size:42px;line-height:.95;letter-spacing:-.07em;margin:0}
.auth-panel p{color:var(--c-muted);line-height:1.5}

.auth-switch{margin-top:16px;color:var(--c-muted);font-size:14px}
.auth-switch a{font-weight:950;text-decoration:none;color:var(--c-text)}

@media(max-width:980px){
    .client-layout{grid-template-columns:1fr}
    .client-sidebar{display:none}
    .client-content{padding:18px 18px 92px}
    .top-actions{display:none}
    .grid-2{grid-template-columns:1fr}
    .hero{min-height:230px;border-radius:28px;padding:24px;display:block}
    .hero h1{font-size:40px}
    .hero-actions{display:grid;grid-template-columns:1fr;margin-top:18px}
    .btn{width:100%}
    .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .metric{min-height:112px;padding:16px;border-radius:22px}
    .metric strong{font-size:34px}
    .panel{border-radius:24px;padding:18px}
    .provider-row{grid-template-columns:64px minmax(0,1fr)}
    .provider-row .actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
    .form-grid{grid-template-columns:1fr}
    .client-mobile-nav{
        position:fixed;
        left:12px;
        right:12px;
        bottom:12px;
        z-index:99;
        min-height:68px;
        border-radius:24px;
        background:rgba(17,24,39,.88);
        border:1px solid rgba(255,255,255,.10);
        box-shadow:0 22px 60px rgba(0,0,0,.32);
        backdrop-filter:blur(18px);
        display:grid;
        grid-template-columns:repeat(4,1fr);
        padding:8px;
    }
    .client-mobile-nav a{
        border-radius:18px;
        color:rgba(255,255,255,.62);
        text-decoration:none;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:2px;
        font-weight:900;
    }
    .client-mobile-nav a.active{
        background:linear-gradient(135deg,var(--c-accent),var(--c-accent-2));
        color:#fff;
    }
    .client-mobile-nav span{font-size:20px}
    .client-mobile-nav small{font-size:10px}
    .auth-shell{grid-template-columns:1fr;max-width:520px}
    .auth-brand{display:none}
    .auth-panel{min-height:calc(100vh - 48px)}
}

@media(max-width:460px){
    .metrics{grid-template-columns:1fr 1fr}
    .hero h1{font-size:34px}
    .panel h2{font-size:28px}
}
