/* 2.0D — capa premium general. Mantiene la identidad funcional existente y unifica jerarquía, superficies y navegación. */
:root{
  --premium-ink:#11182a;
  --premium-muted:#68758d;
  --premium-primary:#2f5bea;
  --premium-primary-soft:#edf2ff;
  --premium-surface:#f6f8fc;
  --premium-card:rgba(255,255,255,.92);
  --premium-line:rgba(89,108,145,.14);
  --premium-shadow:0 18px 55px rgba(31,49,91,.08);
  --premium-shadow-raised:0 24px 70px rgba(31,49,91,.14);
  --premium-radius:24px;
}

body.premium-ui:not(.modo-cerebro){
  color:var(--premium-ink);
  background:
    radial-gradient(circle at 8% -8%,rgba(105,139,255,.13),transparent 30rem),
    radial-gradient(circle at 92% 12%,rgba(149,119,255,.08),transparent 26rem),
    var(--premium-surface);
}

.premium-ui .app{isolation:isolate}
.premium-ui .main{max-width:1120px;padding-top:34px}
.premium-ui .main>*{animation:premium-enter .28s ease both}
@keyframes premium-enter{from{opacity:.001;transform:translateY(4px)}to{opacity:1;transform:none}}

.premium-ui .sidebar{
  width:258px;
  padding:22px 16px 18px;
  background:rgba(250,251,255,.88);
  border-right:1px solid rgba(90,110,150,.11);
  box-shadow:10px 0 40px rgba(35,51,86,.035);
  backdrop-filter:blur(22px) saturate(130%);
}
.premium-ui .brand{padding:5px 13px 4px;font-size:22px;letter-spacing:-.035em}
.premium-ui .premium-brand-note{display:block;padding:0 13px 22px;color:#8a96ac;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.premium-ui .nav-btn{min-height:48px;margin:2px 0;padding:11px 14px;border-radius:16px;color:#6f7c94;font-weight:500;transition:background .16s ease,color .16s ease,transform .16s ease}
.premium-ui .nav-btn>span{display:grid;place-items:center;width:24px;height:24px;font-size:17px}
.premium-ui .nav-btn:hover{background:rgba(69,98,174,.06);transform:translateX(2px)}
.premium-ui .nav-btn.active{background:linear-gradient(135deg,#eaf0ff,#f0edff);color:#2447b9;box-shadow:inset 0 0 0 1px rgba(70,99,190,.08)}
.premium-ui .sidebar .footer-mark{padding:14px 12px 4px;opacity:.7}

.premium-ui .hero{margin-bottom:24px;padding:4px 2px 8px}
.premium-ui .hero h1{font-size:clamp(30px,4.5vw,48px);line-height:1.08;letter-spacing:-.045em;color:#12192b}
.premium-ui .hero .date{margin-top:7px;color:#7b879c;font-size:13px}

.premium-ui .card{
  border:1px solid var(--premium-line);
  border-radius:var(--premium-radius);
  background:var(--premium-card);
  box-shadow:0 1px 0 rgba(255,255,255,.8),0 10px 35px rgba(31,49,91,.045);
  padding:21px 22px;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.premium-ui .card:hover{border-color:rgba(75,103,170,.2);box-shadow:var(--premium-shadow)}
.premium-ui .card h2{font-size:15px;letter-spacing:-.015em}
.premium-ui .premium-card--feature{background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(244,247,255,.94));border-color:rgba(79,112,210,.14)}
.premium-ui .premium-card--settings{background:rgba(255,255,255,.86)}

.premium-ui .brief{background:linear-gradient(145deg,#121b36,#243f82 66%,#3155a6);border:0;color:#eff5ff;box-shadow:0 24px 65px rgba(20,39,87,.22)}
.premium-ui .brief h2{color:#b9d4ff}
.premium-ui .brief .muted{color:#a9b9d7}

.premium-ui .alert{gap:12px;padding:13px 15px;border:1px solid transparent;border-radius:17px;box-shadow:0 1px 0 rgba(255,255,255,.45)}
.premium-ui .alert.red{background:#fff4f4;border-color:#f6dddd;color:#852f39}
.premium-ui .alert.amber{background:#fff8eb;border-color:#f4e5c3;color:#745114}
.premium-ui .alert.blue{background:#f0f6ff;border-color:#dbe9ff;color:#255693}
.premium-ui .alert.green{background:#eef9f3;border-color:#d8eee2;color:#286347}

.premium-ui .btn{min-height:42px;padding:9px 17px;border-radius:14px;background:linear-gradient(135deg,#3566f0,#2b54d4);box-shadow:0 8px 22px rgba(47,91,234,.16);transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}
.premium-ui .btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 28px rgba(47,91,234,.22)}
.premium-ui .btn:active:not(:disabled){transform:translateY(0) scale(.985)}
.premium-ui .btn.ghost{background:#f1f4fa;color:#465570;border:1px solid rgba(88,108,147,.12);box-shadow:none}
.premium-ui .btn.danger{background:transparent;color:#c44d58;box-shadow:none}
.premium-ui .btn.small{min-height:34px;border-radius:11px}

.premium-ui input[type="text"],.premium-ui input[type="email"],.premium-ui input[type="password"],.premium-ui input[type="number"],.premium-ui input[type="date"],.premium-ui input[type="datetime-local"],.premium-ui textarea,.premium-ui select{
  min-height:48px;border:1px solid rgba(87,105,140,.14);border-radius:15px;background:#f8f9fc;padding:11px 13px;color:#172037;box-shadow:inset 0 1px 1px rgba(32,45,75,.025);transition:border-color .16s ease,background .16s ease,box-shadow .16s ease
}
.premium-ui textarea{min-height:104px}
.premium-ui input:focus,.premium-ui textarea:focus,.premium-ui select:focus{outline:0;border-color:#6687ee;background:#fff;box-shadow:0 0 0 4px rgba(62,100,225,.11)}
.premium-ui label{color:#66748c;font-weight:500}

.premium-ui .task{padding:12px 2px;border-bottom-color:rgba(87,105,140,.1)}
.premium-ui .task input[type="checkbox"]{width:20px;height:20px}
.premium-ui .task .t-title{color:#1d263a;font-weight:500}
.premium-ui .chip{padding:4px 9px;border:1px solid rgba(88,108,147,.1);background:#f5f7fb;color:#718097}

.premium-ui .chat-wrap{height:calc(100dvh - 118px)}
.premium-ui .chat-scroll{padding:8px 4px 18px;scrollbar-width:thin;scrollbar-color:#cad3e4 transparent}
.premium-ui .msg{padding:12px 16px;border-radius:19px;line-height:1.52;box-shadow:0 7px 22px rgba(31,49,91,.045)}
.premium-ui .msg.user{background:linear-gradient(135deg,#3566f0,#2854d6);border-bottom-right-radius:6px}
.premium-ui .msg.assistant{background:rgba(255,255,255,.9);border:1px solid rgba(87,105,140,.11);border-bottom-left-radius:6px}
.premium-ui .chat-input{position:sticky;bottom:0;z-index:5;margin:0 -4px;padding:12px 4px 4px;background:linear-gradient(180deg,rgba(246,248,252,0),rgba(246,248,252,.96) 26%)}
.premium-ui .chat-input textarea{background:#fff;box-shadow:0 12px 34px rgba(31,49,91,.09)}
.premium-ui .mic{width:48px;border-radius:15px;background:#fff;border-color:rgba(87,105,140,.13);box-shadow:0 8px 20px rgba(31,49,91,.06)}

.premium-ui .entry{padding:2px 0 2px 16px;border-left-color:#c9d8ff}
.premium-ui .tag-cloud button{min-height:34px;padding:5px 11px;border-radius:12px;background:#f5f7fb;border-color:rgba(88,108,147,.1)}
.premium-ui .tag-cloud button.sel{background:#eaf0ff;border-color:#d5e0ff;color:#3059ce}

.premium-ui .fab{right:24px;bottom:28px;min-width:62px;height:58px;padding:0 18px;border-radius:19px;background:linear-gradient(135deg,#dce6ff,#ebe4ff);color:#2347b5;box-shadow:0 18px 42px rgba(35,66,151,.2)}
.premium-ui .fab:hover{box-shadow:0 22px 50px rgba(35,66,151,.26)}
.premium-ui .sheet-bg{background:rgba(16,24,45,.38);backdrop-filter:blur(8px)}
.premium-ui .sheet{border:1px solid rgba(255,255,255,.65);box-shadow:0 -20px 70px rgba(26,38,68,.18)}

.premium-ui .login-page{background:radial-gradient(circle at 50% 10%,rgba(112,142,255,.16),transparent 28rem),#f6f8fc}
.premium-ui .login-card{max-width:410px}
.premium-ui .login-brand{font-size:34px;letter-spacing:-.045em}
.premium-ui .login-card .card{padding:26px}

.premium-ui .empty{padding:34px 16px;border:1px dashed rgba(91,111,151,.18);border-radius:18px;background:rgba(255,255,255,.45)}
.premium-ui .error{color:#b9404c}.premium-ui .success{color:#267153}

/* Cerebro conserva su identidad oscura; solo se armonizan shell y navegación. */
body.premium-ui.modo-cerebro .sidebar{background:rgba(7,11,23,.94);border-color:#16203a;box-shadow:none}
body.premium-ui.modo-cerebro .premium-brand-note{color:#647596}
body.premium-ui.modo-cerebro .nav-btn.active{background:#12203c;color:#7abaff}
body.premium-ui.modo-cerebro .fab{background:#17284c;color:#b8d5ff;box-shadow:0 16px 38px rgba(0,0,0,.28)}

@media(max-width:760px){
  .premium-ui .main{padding:18px 14px 116px}
  .premium-ui .hero{margin-bottom:18px}
  .premium-ui .hero h1{font-size:31px}
  .premium-ui .card{padding:18px;border-radius:21px}
  .premium-ui .bottom-nav{left:10px;right:10px;bottom:max(9px,env(safe-area-inset-bottom));height:72px;padding:7px 5px;border:1px solid rgba(101,119,153,.1);border-radius:25px;background:rgba(250,251,255,.94);box-shadow:0 18px 45px rgba(28,45,82,.16);backdrop-filter:blur(22px) saturate(130%)}
  .premium-ui .bottom-nav button{min-width:0;border-radius:18px;padding:6px 2px;font-size:10px}
  .premium-ui .bottom-nav button.active{background:#e9efff;color:#2954ca}
  .premium-ui .bottom-nav .m3-nav-icon{font-size:18px}
  .premium-ui .fab{right:16px;bottom:96px;height:54px;min-width:54px;padding:0 15px;border-radius:18px}
  .premium-ui .fab b{display:none}
  .premium-ui .chat-wrap{height:calc(100dvh - 106px)}
  .premium-ui .msg{max-width:90%}
  .premium-ui .sheet{padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}
}

@media(max-width:380px){.premium-ui .main{padding-left:11px;padding-right:11px}.premium-ui .bottom-nav{left:6px;right:6px}.premium-ui .bottom-nav button{font-size:9px}}
@media(prefers-reduced-motion:reduce){.premium-ui .main>*,.premium-ui .nav-btn,.premium-ui .card,.premium-ui .btn{animation:none!important;transition:none!important}}
