:root{
  --bg:#020710;
  --panel:#06111f;
  --panel2:#081827;
  --line:rgba(0,196,255,.35);
  --line2:rgba(0,196,255,.16);
  --blue:#19c8ff;
  --blue2:#65e6ff;
  --text:#eaf7ff;
  --muted:#7ea6bd;
  --green:#20f58a;
  --yellow:#ffc247;
  --red:#ff3650;
  --red2:rgba(255,54,80,.16);
  --shadow:0 0 30px rgba(0,183,255,.12), inset 0 0 30px rgba(0,183,255,.04);
  --radius:18px;
}

*{
  box-sizing:border-box;
}

html,
body{
  min-height:100%;
  margin:0;
  scroll-behavior:smooth;
}

body{
  color:var(--text);
  font-family:Inter, Segoe UI, Roboto, Arial, sans-serif;
  background:
    radial-gradient(circle at 20% 15%, rgba(0,170,255,.12), transparent 28%),
    radial-gradient(circle at 80% 25%, rgba(255,54,80,.07), transparent 24%),
    linear-gradient(135deg, #02050b 0%, #061425 55%, #01040a 100%);
  overflow-x:hidden;
  top:0!important;
}

body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(0,196,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,196,255,.035) 1px, transparent 1px);
  background-size:40px 40px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.9), rgba(0,0,0,.18));
}

a{
  color:inherit;
  text-decoration:none;
}

button,
input,
textarea{
  font:inherit;
}

/* ===== LAYOUT ===== */

.dz-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:250px 1fr;
  gap:18px;
  padding:14px;
  position:relative;
  z-index:1;
}

.dz-panel{
  position:relative;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(8,24,39,.88), rgba(4,12,24,.82));
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.dz-panel:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg, rgba(101,230,255,.12), transparent 16%, transparent 84%, rgba(101,230,255,.06));
  opacity:.65;
}

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

.sidebar{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:calc(100vh - 28px);
}

.main{
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:14px;
  min-width:0;
}

.dashboard{
  display:grid;
  grid-template-columns:1.16fr .84fr;
  gap:14px;
  align-items:start;
  min-height:0;
}

.left-grid,
.right-grid{
  display:grid;
  gap:14px;
  align-content:start;
}

.left-grid{
  grid-template-columns:1fr 1fr;
}

.right-grid{
  grid-template-columns:1fr;
}

.wide{
  grid-column:1/-1;
}

.panel-pad{
  padding:16px;
}

.panel-title{
  color:var(--blue2);
  font-size:15px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:0 0 12px;
}

.panel-note{
  color:var(--muted);
  font-size:12px;
  margin-top:-7px;
  margin-bottom:12px;
}

/* ===== SIDEBAR ===== */

.brand{
  padding:18px 16px;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:70px;
}

.brand-mark{
  width:38px;
  height:38px;
  border-radius:50%;
  border:2px solid var(--blue);
  box-shadow:0 0 20px rgba(25,200,255,.45), inset 0 0 12px rgba(25,200,255,.2);
  position:relative;
  flex:0 0 auto;
}

.brand-mark:after{
  content:"";
  position:absolute;
  inset:9px;
  border:1px solid var(--blue2);
  border-radius:50%;
}

.brand-title{
  font-size:22px;
  font-weight:900;
  letter-spacing:.04em;
  line-height:1;
}

.brand-sub{
  font-size:11px;
  color:var(--muted);
  text-transform:uppercase;
  margin-top:4px;
  letter-spacing:.08em;
}

.user-card{
  padding:16px;
}

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

.user-avatar{
  width:92px;
  height:112px;
  border-radius:14px;
  object-fit:cover;
  border:1px solid rgba(101,230,255,.28);
  background:#071322;
}

.user-name{
  font-size:18px;
  font-weight:900;
  letter-spacing:.04em;
}

.user-id{
  font-size:11px;
  color:var(--muted);
  margin:6px 0 12px;
}

.level{
  color:var(--blue);
  font-size:34px;
  font-weight:900;
  line-height:.9;
}

.xp-line{
  height:6px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
  margin:10px 0 6px;
}

.xp-fill{
  height:100%;
  width:37%;
  background:linear-gradient(90deg, var(--blue), var(--blue2));
  box-shadow:0 0 14px var(--blue);
}

.xp-text{
  font-size:11px;
  color:var(--muted);
}

.nav{
  padding:8px;
  display:grid;
  gap:4px;
}

.nav-link{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:10px;
  align-items:center;
  padding:12px;
  border-radius:12px;
  color:#ccecff;
  border:1px solid transparent;
}

.nav-link.active,
.nav-link:hover{
  border-color:rgba(25,200,255,.42);
  background:linear-gradient(90deg, rgba(25,200,255,.18), rgba(25,200,255,.04));
  box-shadow:0 0 22px rgba(25,200,255,.12);
}

.nav-ico{
  font-size:21px;
  color:var(--blue);
}

.nav-title{
  font-size:14px;
  font-weight:800;
  letter-spacing:.03em;
}

.system-card{
  display:none!important;
}

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

.topbar{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 18px;
  border-radius:16px;
  border:1px solid var(--line2);
  background:rgba(3,10,18,.78);
}

.topbar-left,
.topbar-right{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}

.status-active{
  color:var(--green);
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:13px;
}

.top-icon{
  width:42px;
  height:32px;
  border:1px solid var(--line2);
  border-radius:10px;
  display:grid;
  place-items:center;
  color:var(--blue);
}

.top-home-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:10px;
  border:1px solid rgba(25,200,255,.42);
  color:var(--blue2);
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  background:rgba(25,200,255,.07);
  box-shadow:0 0 18px rgba(25,200,255,.10);
}

.top-home-link:hover{
  border-color:var(--blue2);
  box-shadow:0 0 24px rgba(25,200,255,.20);
}

/* ===== LORIEN ===== */

.lorien-panel{
  min-height:650px;
  display:grid;
  grid-template-columns:22% 1fr;
  gap:14px;
}

.lorien-avatar-zone{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-height:620px;
  position:relative;
  padding:28px 10px 80px;
}

.lorien-img{
  width:min(190px,92%);
  margin-top:10px;
  filter:drop-shadow(0 0 26px rgba(25,200,255,.65));
  z-index:2;
}

.holo-ring{
  position:absolute;
  width:170px;
  height:44px;
  bottom:38px;
  border:2px solid rgba(25,200,255,.48);
  border-radius:50%;
  box-shadow:0 0 30px rgba(25,200,255,.35);
}

.holo-ring:before,
.holo-ring:after{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(101,230,255,.25);
  border-radius:50%;
}

.consult-box{
  border:1px solid rgba(101,230,255,.28);
  background:rgba(3,13,24,.66);
  border-radius:14px;
  padding:18px;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  gap:11px;
}

.lorien-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.lorien-name{
  font-size:30px;
  color:var(--blue);
  font-weight:900;
  letter-spacing:.06em;
  margin:0;
}

.lorien-sub{
  color:var(--muted);
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.09em;
  margin-top:2px;
}

.cabinet-ai-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:fit-content;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(32,245,138,.42);
  color:var(--green);
  background:rgba(32,245,138,.07);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ops-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:7px;
  padding:8px;
  border:1px solid rgba(255,54,80,.55);
  background:linear-gradient(90deg, rgba(255,54,80,.12), rgba(255,54,80,.035));
  border-radius:12px;
  box-shadow:0 0 16px rgba(255,54,80,.10);
}

.ops-item{
  border:1px solid rgba(255,255,255,.07);
  background:rgba(1,8,16,.38);
  border-radius:9px;
  padding:8px;
  min-height:56px;
}

.ops-label{
  color:var(--muted);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:5px;
}

.ops-value{
  font-weight:900;
  color:#fff;
  line-height:1.25;
  font-size:13px;
}

.ops-value.red{
  color:var(--red);
}

.ops-value.green{
  color:var(--green);
}

.ops-value.blue{
  color:var(--blue2);
}

.cabinet-ai-log{
  min-height:370px;
  max-height:430px;
  overflow-y:auto;
  border:1px solid rgba(101,230,255,.22);
  background:
    radial-gradient(
      circle at 15% 10%,
      rgba(25,200,255,.07),
      transparent 34%
    ),
    rgba(1,8,16,.72);
  border-radius:16px;
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:stretch;
}

.cabinet-ai-log::-webkit-scrollbar{
  width:8px;
}

.cabinet-ai-log::-webkit-scrollbar-thumb{
  background:rgba(25,200,255,.35);
  border-radius:999px;
}

.cabinet-ai-msg{
  width:fit-content;
  max-width:78%;
  padding:12px 15px;
  line-height:1.5;
  font-size:14px;
  font-weight:500;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

.cabinet-ai-msg.ai{
  align-self:flex-start;
  border:1px solid rgba(25,200,255,.34);
  border-radius:6px 16px 16px 16px;
  color:#dff8ff;
  background:rgba(25,200,255,.09);
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}

.cabinet-ai-msg.user{
  align-self:flex-end;
  border:1px solid rgba(32,245,138,.32);
  border-radius:16px 6px 16px 16px;
  color:#e2fff0;
  background:rgba(32,245,138,.10);
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}

.cabinet-ai-msg.warn{
  border-color:rgba(255,54,80,.45);
  color:#ffd6dc;
  background:rgba(255,54,80,.08);
}

.lorien-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:auto;
}

.chat-input-row{
  display:grid;
  grid-template-columns:1fr 58px;
  gap:10px;
  margin-top:4px;
}

.chat-input{
  height:52px;
  border-radius:12px;
  background:rgba(1,8,16,.86);
  border:1px solid rgba(101,230,255,.28);
  color:var(--text);
  padding:0 15px;
  outline:none;
  font-size:15px;
}
.chat-input::placeholder{
  color:rgba(101,230,255,.82);
  font-weight:700;
  letter-spacing:.02em;
  opacity:1;
}
/* ===== BUTTONS ===== */

.btn{
  border:1px solid rgba(25,200,255,.55);
  background:linear-gradient(180deg, rgba(25,200,255,.18), rgba(25,200,255,.07));
  color:#dff8ff;
  border-radius:10px;
  padding:11px 16px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 0 18px rgba(25,200,255,.13);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.btn:hover{
  border-color:var(--blue2);
  box-shadow:0 0 24px rgba(25,200,255,.22);
  transform:translateY(-1px);
}

.btn.secondary{
  background:rgba(255,255,255,.03);
  border-color:rgba(101,230,255,.24);
  color:#b8d8e8;
}

.btn.danger{
  border-color:rgba(255,54,80,.75);
  background:rgba(255,54,80,.12);
  color:#ffd7dc;
}

/* ===== ROUTE MAP 7 DOTS ===== */

.route-map{
  min-height:390px;
  position:relative;
  overflow:hidden;
}

.route-scene{
  position:relative;
  height:255px;
  margin-top:12px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(101,230,255,.18);
  background:
    radial-gradient(circle at 62% 18%, rgba(25,200,255,.16), transparent 34%),
    radial-gradient(circle at 24% 84%, rgba(255,54,80,.08), transparent 28%),
    linear-gradient(180deg, rgba(2,7,16,.88), rgba(3,13,24,.62));
  box-shadow:
    inset 0 0 32px rgba(25,200,255,.08),
    0 0 24px rgba(25,200,255,.08);
}

.route-scene:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(2,7,16,.22), transparent 38%, rgba(2,7,16,.35)),
    radial-gradient(circle at 84% 12%, rgba(101,230,255,.18), transparent 18%);
}

.route-scene:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(101,230,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(101,230,255,.035) 1px, transparent 1px);
  background-size:28px 28px;
  opacity:.42;
  mix-blend-mode:screen;
}

.route-mountain-img{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.58;
  filter:saturate(1.08) brightness(.78) contrast(1.08);
  pointer-events:none;
}

.route-node-layer{
  position:absolute;
  inset:0;
  z-index:8;
  pointer-events:none;
}

.route-dot{
  position:absolute;
  transform:translate(-50%, -50%);
  width:28px;
  height:28px;
  border-radius:50%;
  border:2px solid rgba(130,145,165,.65);
  background:rgba(15,23,42,.92);
  box-shadow:0 0 0 4px rgba(3,10,18,.38);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9;
}

.route-dot span{
  font-size:11px;
  font-weight:900;
  color:#d9f6ff;
  line-height:1;
}

.route-dot.completed{
  border-color:rgba(28,225,122,.95);
  background:rgba(8,44,26,.96);
  box-shadow:
    0 0 12px rgba(28,225,122,.55),
    0 0 0 4px rgba(3,10,18,.38);
}

.route-dot.completed span{
  color:#9afcc0;
}

.route-dot.active{
  border-color:rgba(40,214,255,.98);
  background:rgba(3,34,46,.98);
  box-shadow:
    0 0 18px rgba(40,214,255,.88),
    0 0 0 4px rgba(3,10,18,.38);
}

.route-dot.active span{
  color:#fff;
}

.route-dot.locked{
  opacity:.45;
}

.route-peak-badge{
  position:absolute;
  right:5%;
  top:7%;
  z-index:10;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(101,230,255,.36);
  background:rgba(25,200,255,.10);
  color:var(--blue2);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
  box-shadow:0 0 18px rgba(25,200,255,.16);
}

.route-svg,
.route-label,
.route-node,
.route-node-pulse,
.route-track,
.route-progress-path,
.course-route-nodes{
  display:none!important;
}

.route-progress{
  position:relative;
  margin-top:10px;
}

.progress-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:#dcefff;
  font-size:13px;
  text-transform:uppercase;
  font-weight:800;
  margin-bottom:8px;
}

.progress-bar{
  height:8px;
  background:rgba(255,255,255,.08);
  border-radius:999px;
  overflow:hidden;
}

.progress-fill{
  height:100%;
  width:0%;
  background:linear-gradient(90deg, var(--blue), var(--blue2));
  box-shadow:0 0 18px var(--blue);
}

/* ===== COMBAT MONITOR ===== */

.status-monitor{
  display:grid;
  grid-template-columns:145px 1fr;
  gap:14px;
  align-items:center;
}

.ring-score{
  width:132px;
  height:132px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:auto;
  background:conic-gradient(var(--blue) 0 63%, rgba(255,255,255,.08) 63% 100%);
  position:relative;
  box-shadow:0 0 26px rgba(25,200,255,.2);
}

.ring-score:before{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:50%;
  background:#06111f;
  border:1px solid rgba(101,230,255,.2);
}

.ring-score strong{
  z-index:1;
  font-size:34px;
}

.status-list{
  display:grid;
  gap:8px;
}

.status-line{
  display:grid;
  grid-template-columns:1fr 58px;
  gap:10px;
  align-items:center;
  padding:10px;
  border-radius:10px;
  border:1px solid rgba(101,230,255,.14);
  background:rgba(1,8,16,.36);
}

.status-line b{
  font-size:18px;
  color:var(--blue2);
}

.status-line.red{
  border-color:rgba(255,54,80,.45);
  background:rgba(255,54,80,.08);
}

.status-line.red b{
  color:var(--red);
}

.status-line.yellow{
  border-color:rgba(255,194,71,.35);
  background:rgba(255,194,71,.07);
}

.status-line.yellow b{
  color:var(--yellow);
}

.status-line.green b{
  color:var(--green);
}

/* ===== MISSION CARD ===== */

.mission-red{
  border-color:rgba(255,54,80,.62);
  background:linear-gradient(180deg, rgba(255,54,80,.12), rgba(8,24,39,.78));
  overflow:hidden;
}

.mission-body{
  display:grid;
  grid-template-columns:78px 1fr;
  gap:18px;
  align-items:flex-start;
}

.mission-body > div,
.mission-content{
  min-width:0;
  width:100%;
}

.target{
  width:68px;
  height:68px;
  border-radius:14px;
  border:1px solid rgba(255,54,80,.7);
  display:grid;
  place-items:center;
  color:var(--red);
  font-size:36px;
  background:rgba(255,54,80,.12);
  box-shadow:0 0 22px rgba(255,54,80,.15);
  animation:missionGlow 1.9s infinite;
  flex:0 0 auto;
}

@keyframes missionGlow{
  0%,100%{box-shadow:0 0 18px rgba(255,54,80,.14)}
  50%{box-shadow:0 0 34px rgba(255,54,80,.34)}
}

.mission-primary-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
  align-items:center;
}

.mission-extra-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
  max-width:100%;
  align-items:center;
  position:relative;
  z-index:5;
}

.mission-mini-btn,
.mission-extra-actions a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:30px!important;
  max-width:170px!important;
  width:auto!important;
  padding:7px 10px!important;
  border-radius:10px!important;
  border:1px solid rgba(34,211,238,.35)!important;
  background:rgba(3,10,18,.62)!important;
  color:#e5f6ff!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.1!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  box-shadow:none!important;
}

.mission-mini-btn:hover,
.mission-extra-actions a:hover{
  border-color:rgba(34,211,238,.75)!important;
  background:rgba(8,20,32,.9)!important;
}

/* ===== PROFILE / CHANGES / QUICK ===== */


.changes{
  display:grid;
  gap:9px;
}

.change{
  display:flex;
  justify-content:space-between;
  border:1px solid rgba(101,230,255,.12);
  border-radius:10px;
  padding:10px;
  font-size:13px;
  background:rgba(1,8,16,.35);
}

.change.up b{
  color:var(--green);
}

.change.down b{
  color:var(--red);
}

.progress-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:#dcefff;
  font-size:13px;
  text-transform:uppercase;
  font-weight:800;
  margin-bottom:8px;
}

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

.quick-card{
  border:1px solid rgba(101,230,255,.22);
  border-radius:12px;
  padding:14px;
  min-height:88px;
  background:rgba(1,8,16,.42);
}

.quick-card:hover{
  border-color:rgba(25,200,255,.5);
  box-shadow:0 0 18px rgba(25,200,255,.10);
  transform:translateY(-1px);
}

.quick-title{
  font-weight:900;
  text-transform:uppercase;
  color:#dff8ff;
  font-size:13px;
}

.quick-sub{
  color:var(--muted);
  font-size:12px;
  margin-top:6px;
  line-height:1.35;
}

/* ===== LEGACY TASK / ARCHIVE ===== */

.first-task{
  margin-top:0;
}

.hidden{
  display:none!important;
}

.task-card{
  border:1px solid var(--line);
  background:rgba(6,17,31,.9);
  border-radius:var(--radius);
  padding:18px;
  box-shadow:var(--shadow);
}

.quest-form{
  display:grid;
  gap:12px;
  margin:16px 0;
}

.quest-form label{
  display:grid;
  gap:8px;
  font-weight:800;
  color:#dcefff;
}

.quest-form textarea{
  min-height:86px;
  resize:vertical;
  padding:12px;
  border-radius:12px;
  border:1px solid rgba(101,230,255,.22);
  background:rgba(1,8,16,.74);
  color:var(--text);
  outline:none;
}

.task-why{
  border-left:3px solid var(--blue);
  padding-left:12px;
  color:var(--muted);
}

.quest-history-list{
  display:grid;
  gap:10px;
  margin-top:12px;
}

.empty-history{
  border:1px dashed rgba(101,230,255,.22);
  border-radius:12px;
  padding:14px;
  color:var(--muted);
  background:rgba(255,255,255,.03);
}

.bottom-sync{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  padding:0 12px;
  flex-wrap:wrap;
}

.sync-line{
  height:4px;
  width:280px;
  background:repeating-linear-gradient(90deg, var(--blue) 0 12px, transparent 12px 22px);
  opacity:.75;
}

/* ===== GOOGLE TRANSLATE STABILIZATION ===== */

.goog-te-banner-frame,
.goog-te-balloon-frame,
.skiptranslate iframe{
  display:none!important;
}

.notranslate{
  unicode-bidi:isolate;
}

.translate-box{
  min-width:120px;
  max-width:190px;
  height:32px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.goog-te-gadget{
  font-size:0!important;
  color:transparent!important;
}

.goog-te-gadget span{
  display:none!important;
}

.goog-te-combo{
  margin:0!important;
  max-width:180px;
  height:30px;
  border-radius:10px;
  border:1px solid rgba(25,200,255,.35);
  background:rgba(3,10,18,.92);
  color:#e5f6ff;
  font-size:12px;
  font-weight:700;
  outline:none;
}
.route-line-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:7;
  pointer-events:none;
  overflow:visible;
}

.route-line-base,
.route-line-active{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}

.route-line-base{
  stroke:rgba(234,247,255,.18);
  stroke-width:5;
}

.route-line-active{
  stroke:rgba(32,245,138,.88);
  stroke-width:5;
  filter:drop-shadow(0 0 8px rgba(32,245,138,.75));
}

/* ===== RESPONSIVE ===== */

@media(max-width:1200px){
  .dz-shell{
    grid-template-columns:1fr;
  }

  .sidebar{
    min-height:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .brand,
  .user-card,
  .nav{
    min-width:0;
  }

  .nav{
    grid-column:1/-1;
    grid-template-columns:repeat(4,1fr);
  }

  .dashboard{
    grid-template-columns:1fr;
  }
}

@media(max-width:900px){
  .lorien-panel{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .lorien-avatar-zone{
    min-height:180px;
  }

  .lorien-img{
    width:min(150px,70%);
  }

  .cabinet-ai-log{
    min-height:300px;
    max-height:380px;
  }

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

  .profile-map-simple{
    grid-template-columns:1fr;
  }

  .status-monitor{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .dz-shell{
    padding:8px;
  }

  .sidebar{
    grid-template-columns:1fr;
  }

  .nav{
    grid-template-columns:1fr 1fr;
  }

  .left-grid{
    grid-template-columns:1fr;
  }

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

  .mission-body{
    grid-template-columns:1fr;
  }

  .topbar{
    height:auto;
    min-height:46px;
    padding:10px;
  }

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

  .bottom-sync{
    justify-content:center;
    text-align:center;
  }

  .sync-line{
    width:180px;
  }

  .route-map{
    min-height:360px;
  }

  .route-scene{
    height:220px;
  }

  .route-dot{
    width:24px;
    height:24px;
  }

  .route-dot span{
    font-size:10px;
  }
  
.cabinet-hub-panel,
.cabinet-results-panel{
  padding:20px;
}

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

.hub-head h2{
  margin:0 0 6px;
  color:#fff;
  font-size:22px;
}

.hub-head p{
  margin:0;
  color:#b8d8e8;
  line-height:1.5;
}

.tests-hub-dropdown{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:14px;
}

.hub-link{
  display:block;
  min-height:118px;
  padding:14px;
  border-radius:14px;
  text-decoration:none;
  border:1px solid rgba(101,230,255,.2);
  background:
    radial-gradient(circle at 80% 0%, rgba(25,200,255,.12), transparent 34%),
    rgba(1,8,16,.5);
  transition:.18s ease;
}

.hub-link:hover{
  transform:translateY(-2px);
  border-color:rgba(101,230,255,.55);
  box-shadow:0 0 24px rgba(25,200,255,.12);
}

.hub-link.danger{
  border-color:rgba(255,54,80,.35);
  background:
    radial-gradient(circle at 80% 0%, rgba(255,54,80,.16), transparent 34%),
    rgba(1,8,16,.5);
}

.hub-link b{
  display:block;
  color:#fff;
  font-size:15px;
  margin-bottom:8px;
}

.hub-link span{
  display:block;
  color:#b8d8e8;
  font-size:12px;
  line-height:1.45;
}

.hub-link.mini{
  min-height:96px;
}

.hub-actions-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

.oracle-cabinet-box{
  margin-top:14px;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(255,210,90,.3);
  background:rgba(255,210,90,.08);
  color:#fff2c0;
  line-height:1.6;
}

@media(max-width:1100px){
  .tests-hub-dropdown{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:720px){
  .hub-head{
    flex-direction:column;
  }

  .tests-hub-dropdown{
    grid-template-columns:1fr;
  }
}

.nav-group-title {
  margin: 16px 14px 6px;
  padding-top: 10px;
  border-top: 1px solid rgba(67, 211, 255, 0.14);

  color: rgba(119, 218, 255, 0.62);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}

.nav-group-title:first-child {
  margin-top: 4px;
  padding-top: 0;
  border-top: 0;
}
}

/* ===== LORIEN CHAT EXPANSION V16 ===== */

.lorien-panel{
  display:block;
  min-height:0;
}

.lorien-panel .consult-box{
  width:100%;
  min-height:0;
}

.lorien-avatar-zone{
  display:none !important;
}

.lorien-title-group{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.lorien-header-avatar{
  width:68px;
  height:68px;
  flex:0 0 68px;
  object-fit:contain;
  border-radius:16px;
  border:1px solid rgba(101,230,255,.28);
  background:
    radial-gradient(
      circle,
      rgba(25,200,255,.18),
      rgba(1,8,16,.45)
    );
  filter:drop-shadow(0 0 16px rgba(25,200,255,.52));
}

.lorien-header{
  min-height:74px;
}

.cabinet-ai-log{
  min-height:220px;
  max-height:340px;
  width:100%;
}

.cabinet-ai-msg{
  max-width:82%;
}

@media(max-width:900px){
  .lorien-header-avatar{
    width:56px;
    height:56px;
    flex-basis:56px;
  }

  .lorien-name{
    font-size:25px;
  }

  .cabinet-ai-log{
    min-height:330px;
    max-height:420px;
  }
  
.route-manifesto{
  margin-top:10px;
  color:var(--muted);
  font-size:15px;
  line-height:1.5;
  letter-spacing:.02em;
}

.route-manifesto strong{
  color:var(--blue2);
  font-weight:900;
}

}

/* =========================================================
   REDESIGNED SIDEBAR
========================================================= */

.sidebar{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:calc(100vh - 28px);
}

.user-card{
  padding:16px;
}

.user-identity{
  display:flex;
  align-items:center;
  gap:12px;
}

.user-avatar-wrap{
  position:relative;
  flex:0 0 auto;
}

.user-avatar{
  width:76px;
  height:84px;
  border-radius:16px;
  object-fit:cover;
  border:1px solid rgba(101,230,255,.34);
  background:#071322;
  box-shadow:
    0 0 18px rgba(25,200,255,.12);
}

.avatar-edit-button{
  position:absolute;
  right:-5px;
  bottom:-5px;
  width:28px;
  height:28px;
  border-radius:50%;
  border:1px solid rgba(101,230,255,.34);
  background:#071322;
  color:var(--blue2);
  display:grid;
  place-items:center;
  cursor:not-allowed;
  opacity:.65;
}

.user-identity-main{
  min-width:0;
}

.user-name{
  font-size:18px;
  font-weight:900;
  line-height:1.2;
  overflow-wrap:anywhere;
}

.user-role{
  margin-top:5px;
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.user-level-block{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(101,230,255,.14);
}

.user-level-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:10px;
}

.user-level-label{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.user-level-value{
  margin-top:3px;
  color:var(--blue2);
  font-size:30px;
  font-weight:900;
  line-height:1;
}

.user-level-value small{
  color:var(--muted);
  font-size:13px;
  font-weight:800;
}

.user-level-percent{
  color:var(--green);
  font-size:15px;
  font-weight:900;
}

.user-level-caption{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:7px;
  color:var(--muted);
  font-size:10px;
}

.achievement-preview{
  margin-top:16px;
}

.achievement-preview-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:9px;
  color:#dff8ff;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.achievement-view-button{
  border:0;
  background:transparent;
  color:var(--blue2);
  font-size:10px;
  cursor:not-allowed;
  opacity:.55;
}

.achievement-badges{
  display:flex;
  gap:8px;
}

.achievement-badge{
  width:38px;
  height:38px;
  border-radius:11px;
  display:grid;
  place-items:center;
  border:1px solid rgba(101,230,255,.3);
  background:rgba(25,200,255,.07);
  color:var(--blue2);
  font-size:18px;
  box-shadow:0 0 14px rgba(25,200,255,.08);
}

.achievement-badge.locked{
  opacity:.38;
  filter:grayscale(1);
}

.sidebar-primary-actions{
  display:grid;
  gap:9px;
}

.sidebar-primary-button{
  min-height:50px;
  padding:12px 14px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:11px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  border:1px solid rgba(101,230,255,.34);
  transition:
    transform .16s ease,
    border-color .16s ease,
    box-shadow .16s ease;
}

.sidebar-primary-button:hover{
  transform:translateY(-1px);
}

.sidebar-primary-button.mission{
  color:#e7fbff;
  background:
    linear-gradient(
      90deg,
      rgba(25,200,255,.24),
      rgba(25,200,255,.07)
    );
  box-shadow:0 0 20px rgba(25,200,255,.12);
}

.sidebar-primary-button.mission:hover{
  border-color:var(--blue2);
  box-shadow:0 0 26px rgba(25,200,255,.2);
}

.sidebar-primary-button.journal{
  color:#f2e8ff;
  border-color:rgba(177,114,255,.45);
  background:
    linear-gradient(
      90deg,
      rgba(140,85,255,.22),
      rgba(140,85,255,.06)
    );
  box-shadow:0 0 20px rgba(140,85,255,.1);
}

.sidebar-primary-button.journal:hover{
  border-color:rgba(201,157,255,.8);
  box-shadow:0 0 26px rgba(140,85,255,.18);
}

.sidebar-primary-icon{
  width:28px;
  height:28px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:rgba(1,8,16,.36);
  font-size:17px;
}

.cabinet-navigation{
  padding:8px;
  display:block;
}

.nav-section{
  display:grid;
  gap:4px;
}

.nav-section + .nav-section{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(101,230,255,.13);
}

.nav-section-title{
  margin:0 10px 7px;
  color:rgba(126,166,189,.82);
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
}

.cabinet-navigation .nav-link{
  width:100%;
  min-height:43px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:9px;
  padding:9px 10px;
  border-radius:11px;
  color:#ccecff;
  border:1px solid transparent;
}

.cabinet-navigation .nav-link.active,
.cabinet-navigation .nav-link:hover{
  border-color:rgba(25,200,255,.38);
  background:
    linear-gradient(
      90deg,
      rgba(25,200,255,.17),
      rgba(25,200,255,.035)
    );
  box-shadow:0 0 18px rgba(25,200,255,.08);
}

.cabinet-navigation .nav-ico{
  font-size:18px;
  color:var(--blue);
  text-align:center;
}

.cabinet-navigation .nav-title{
  min-width:0;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  overflow-wrap:anywhere;
}

.nav-dropdown{
  border-radius:11px;
}

.nav-dropdown summary{
  list-style:none;
  cursor:pointer;
}

.nav-dropdown summary::-webkit-details-marker{
  display:none;
}

.nav-summary{
  grid-template-columns:
    30px
    minmax(0,1fr)
    18px !important;
}

.nav-chevron{
  color:var(--muted);
  font-size:18px;
  transform:rotate(0deg);
  transition:transform .16s ease;
}

.nav-dropdown[open] .nav-chevron{
  transform:rotate(90deg);
}

.nav-dropdown[open] .nav-summary{
  border-color:rgba(25,200,255,.26);
  background:rgba(25,200,255,.06);
}

.nav-dropdown-content{
  display:grid;
  gap:3px;
  margin:4px 0 7px 39px;
  padding-left:10px;
  border-left:1px solid rgba(101,230,255,.18);
}

.nav-sub-link{
  padding:8px 9px;
  border-radius:9px;
  color:#9fc6d9;
  font-size:11px;
  font-weight:700;
  line-height:1.3;
}

.nav-sub-link:hover{
  color:#eaf7ff;
  background:rgba(25,200,255,.08);
}

.nav-sub-link.all-tests{
  margin-top:3px;
  color:var(--blue2);
  border-top:1px solid rgba(101,230,255,.1);
}

@media(max-width:1200px){
  .sidebar{
    display:grid;
    grid-template-columns:
      minmax(220px, .8fr)
      minmax(240px, 1fr);
    align-items:start;
  }

  .brand{
    grid-column:1/-1;
  }

  .user-card{
    grid-column:1;
  }

  .sidebar-primary-actions{
    grid-column:1;
  }

  .cabinet-navigation{
    grid-column:2;
    grid-row:2 / span 2;
  }
}

@media(max-width:760px){
  .sidebar{
    display:grid;
    grid-template-columns:1fr;
  }

  .brand,
  .user-card,
  .sidebar-primary-actions,
  .cabinet-navigation{
    grid-column:1;
    grid-row:auto;
  }

  .user-avatar{
    width:68px;
    height:76px;
  }

  .sidebar-primary-actions{
    grid-template-columns:1fr 1fr;
  }

  .sidebar-primary-button{
    justify-content:flex-start;
    text-align:left;
  }

  .sidebar-primary-icon{
    flex:0 0 28px;
    margin:0;
  }

  .sidebar-primary-button > span:last-child{
    text-align:left;
  }
}

@media(max-width:480px){
  .sidebar-primary-actions{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   SIDEBAR — MATCH APPROVED MOCKUP
========================================================= */

.dz-shell{
  grid-template-columns:290px minmax(0, 1fr);
  gap:16px;
  padding:16px;
}

.sidebar{
  gap:12px;
}

.brand{
  min-height:76px;
  padding:17px 18px;
}

.brand-mark{
  width:42px;
  height:42px;
}

.brand-title{
  font-size:21px;
}

.brand-sub{
  font-size:10px;
}

/* USER */

.user-card{
  padding:15px 16px 14px;
}

.user-identity{
  align-items:flex-start;
  gap:14px;
}

.user-avatar{
  width:90px;
  height:108px;
  border-radius:14px;
}

.avatar-edit-button{
  width:27px;
  height:27px;
}

.user-identity-main{
  padding-top:7px;
}

.user-name{
  font-size:18px;
  line-height:1.25;
}

.user-role{
  margin-top:7px;
  font-size:10px;
}

.user-level-block{
  margin-top:14px;
  padding-top:12px;
}

.user-level-head{
  align-items:center;
}

.user-level-label{
  font-size:10px;
}

.user-level-value{
  font-size:25px;
}

.user-level-value small{
  font-size:12px;
}

.user-level-percent{
  font-size:13px;
}

.xp-line{
  height:7px;
  margin:9px 0 6px;
}

.user-level-caption{
  font-size:9px;
}

.achievement-preview{
  margin-top:13px;
}

.achievement-preview-head{
  margin-bottom:9px;
  font-size:9px;
}

.achievement-badges{
  gap:9px;
}

.achievement-badge{
  width:43px;
  height:43px;
  border-radius:12px;
  font-size:20px;
}

/* MAIN BUTTONS */

.sidebar-primary-actions{
  gap:9px;
}

.sidebar-primary-button{
  min-height:54px;
  padding:12px 15px;
  border-radius:13px;
  gap:12px;
  font-size:13px;
}

.sidebar-primary-icon{
  width:31px;
  height:31px;
  font-size:18px;
}

.sidebar-primary-button.mission{
  background:
    linear-gradient(
      90deg,
      rgba(25,200,255,.38),
      rgba(25,200,255,.10)
    );
}

.sidebar-primary-button.journal{
  background:
    linear-gradient(
      90deg,
      rgba(140,85,255,.30),
      rgba(140,85,255,.08)
    );
}

/* NAVIGATION */

.cabinet-navigation{
  padding:10px;
}

.nav-section{
  gap:3px;
}

.nav-section + .nav-section{
  margin-top:14px;
  padding-top:12px;
}

.nav-section-title{
  margin:0 8px 6px;
  font-size:10px;
}

.cabinet-navigation .nav-link{
  min-height:39px;
  grid-template-columns:29px minmax(0,1fr);
  gap:9px;
  padding:8px 9px;
}

.cabinet-navigation .nav-ico{
  font-size:17px;
}

.cabinet-navigation .nav-title{
  font-size:13px;
}

.nav-sub-link{
  font-size:12px;
}

/* KEEP DESKTOP SIDEBAR IN ONE COLUMN */

@media(min-width:1201px){
  .sidebar{
    display:flex;
  }
}

/* =========================================================
   LORIEN SUPPORT ROW
========================================================= */

.lorien-support-row{
  display:grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr))
    auto;
  gap:10px;
  align-items:stretch;
  margin-top:2px;
}

.lorien-support-card{
  min-width:0;
  min-height:72px;
  display:flex;
  align-items:center;
  gap:11px;
  padding:11px 12px;
  border-radius:13px;
  border:1px solid rgba(101,230,255,.22);
  background:
    linear-gradient(
      180deg,
      rgba(8,24,39,.76),
      rgba(3,12,23,.82)
    );
  transition:
    transform .16s ease,
    border-color .16s ease,
    box-shadow .16s ease;
}

.lorien-support-card:hover{
  transform:translateY(-1px);
  border-color:rgba(101,230,255,.52);
  box-shadow:0 0 20px rgba(25,200,255,.12);
}

.lorien-support-card.therapeutic{
  border-color:rgba(147,104,255,.34);
  background:
    linear-gradient(
      180deg,
      rgba(103,71,193,.18),
      rgba(3,12,23,.82)
    );
}

.lorien-support-card.curator{
  border-color:rgba(32,245,138,.30);
  background:
    linear-gradient(
      180deg,
      rgba(32,245,138,.12),
      rgba(3,12,23,.82)
    );
}

.lorien-support-card.community{
  border-color:rgba(25,200,255,.30);
}

.lorien-support-icon{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:grid;
  place-items:center;
  border-radius:11px;
  border:1px solid rgba(101,230,255,.25);
  background:rgba(1,8,16,.48);
  color:var(--blue2);
  font-size:18px;
}

.lorien-support-content{
  min-width:0;
  display:grid;
  gap:4px;
}

.lorien-support-content strong{
  color:#f1fbff;
  font-size:12px;
  line-height:1.2;
}

.lorien-support-content small{
  color:var(--muted);
  font-size:10px;
  line-height:1.3;
}

.cabinet-oracle-button{
  align-self:center;
  min-height:38px;
  padding:8px 12px;
  border-radius:10px;
  border:1px solid rgba(255,194,71,.34);
  background:rgba(255,194,71,.07);
  color:#ffe7a8;
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  cursor:pointer;
  white-space:nowrap;
  transition:
    transform .16s ease,
    border-color .16s ease,
    box-shadow .16s ease;
}

.cabinet-oracle-button:hover{
  transform:translateY(-1px);
  border-color:rgba(255,194,71,.72);
  box-shadow:0 0 18px rgba(255,194,71,.14);
}

@media(max-width:1400px){
  .lorien-support-row{
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .cabinet-oracle-button{
    justify-self:start;
  }
}

@media(max-width:760px){
  .lorien-support-row{
    grid-template-columns:1fr;
  }

  .lorien-support-card{
    min-height:64px;
  }

  .cabinet-oracle-button{
    justify-self:start;
  }
}

/* =========================================================
   RIGHT DASHBOARD — APPROVED LAYOUT
========================================================= */

.right-grid{
  display:grid;
  gap:14px;
  align-content:start;
  min-width:0;
}

.right-dashboard-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  min-width:0;
}

.right-dashboard-card{
  min-width:0;
  min-height:0;
  padding:14px;
}

.right-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:11px;
}

.right-card-head .panel-title{
  margin:0;
  font-size:13px;
  line-height:1.2;
}

.right-card-kicker{
  margin-bottom:4px;
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.right-card-state{
  flex:0 0 auto;
  max-width:105px;
  padding:6px 8px;
  border-radius:999px;
  font-size:8px;
  font-weight:900;
  line-height:1.2;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.right-card-link{
  flex:0 0 auto;
  min-height:28px;
  padding:6px 9px;
  border-radius:8px;
  border:1px solid rgba(101,230,255,.28);
  background:rgba(25,200,255,.06);
  color:var(--blue2);
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  cursor:pointer;
}

.right-card-link:hover{
  border-color:rgba(101,230,255,.65);
  box-shadow:0 0 16px rgba(25,200,255,.12);
}

.compact-card-body{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:11px;
  align-items:start;
}

.compact-card-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:12px;
  font-size:21px;
}

.compact-card-content{
  min-width:0;
}

.compact-card-content h3{
  margin:3px 0 5px;
  color:#f1fbff;
  font-size:14px;
  line-height:1.25;
  overflow-wrap:anywhere;
}

.compact-card-content p{
  margin:0;
  color:#b8d8e8;
  font-size:10px;
  line-height:1.45;
  overflow-wrap:anywhere;
}

.compact-card-label{
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  line-height:1.3;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.compact-card-action{
  width:100%;
  min-height:36px;
  margin-top:11px;
  padding:8px 11px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-radius:9px;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  cursor:pointer;
}

/* =========================================================
   ACTIVE ROUTE
========================================================= */

.route-map{
  min-height:0;
  padding:14px;
}

.route-map .right-card-head{
  margin-bottom:4px;
}

.route-current-mission{
  margin-top:6px;
  color:#eaf7ff;
  font-size:11px;
  font-weight:800;
}

.route-stage-name{
  margin-bottom:7px;
  color:var(--muted);
  font-size:10px;
}

.route-completion{
  width:58px;
  height:58px;
  flex:0 0 58px;
  display:grid;
  place-content:center;
  text-align:center;
  border-radius:50%;
  border:1px solid rgba(101,230,255,.20);
  background:rgba(1,8,16,.54);
  box-shadow:
    inset 0 0 18px rgba(25,200,255,.06);
}

.route-completion strong{
  color:#eaf7ff;
  font-size:16px;
  line-height:1;
}

.route-completion span{
  margin-top:4px;
  color:var(--muted);
  font-size:7px;
  text-transform:uppercase;
}

.route-scene{
  height:190px;
  margin-top:5px;
}

.route-progress{
  margin-top:8px;
}

.route-map .progress-row{
  margin-bottom:6px;
  font-size:9px;
}

/* =========================================================
   ACTIVE MISSION
========================================================= */

.right-dashboard-grid .mission-red{
  border-color:rgba(255,54,80,.62);
  background:
    linear-gradient(
      180deg,
      rgba(255,54,80,.13),
      rgba(8,24,39,.82)
    );
}

.mission-kicker{
  color:#ff9aaa;
}

.mission-state{
  border:1px solid rgba(255,54,80,.35);
  background:rgba(255,54,80,.08);
  color:#ff9aaa;
}

.mission-icon{
  border:1px solid rgba(255,54,80,.55);
  background:rgba(255,54,80,.10);
  color:var(--red);
  box-shadow:0 0 18px rgba(255,54,80,.12);
}

.mission-action{
  border:1px solid rgba(255,54,80,.65);
  background:rgba(255,54,80,.12);
  color:#ffe1e5;
}

.mission-action:hover{
  border-color:#ff7588;
  box-shadow:0 0 18px rgba(255,54,80,.18);
}

.mission-hidden-actions{
  display:none;
}

/* =========================================================
   TODAY'S ACTION
========================================================= */

.today-action-card{
  border-color:rgba(32,245,138,.38);
  background:
    linear-gradient(
      180deg,
      rgba(32,245,138,.09),
      rgba(4,12,24,.82)
    );
}

.action-kicker{
  color:#77ffb7;
}

.action-state{
  border:1px solid rgba(32,245,138,.30);
  background:rgba(32,245,138,.07);
  color:var(--green);
}

.action-icon{
  border:1px solid rgba(32,245,138,.38);
  background:rgba(32,245,138,.09);
  color:var(--green);
  box-shadow:0 0 18px rgba(32,245,138,.10);
}

.action-link{
  border:1px solid rgba(32,245,138,.48);
  background:rgba(32,245,138,.09);
  color:#dffff0;
}

.action-link:hover{
  border-color:rgba(32,245,138,.82);
  box-shadow:0 0 18px rgba(32,245,138,.14);
}

/* =========================================================
   LATEST REFLECTION
========================================================= */

.reflection-card{
  border-color:rgba(140,85,255,.42);
  background:
    linear-gradient(
      180deg,
      rgba(140,85,255,.13),
      rgba(4,12,24,.82)
    );
}

.reflection-kicker{
  color:#c8a6ff;
}

.reflection-icon{
  border:1px solid rgba(177,114,255,.40);
  background:rgba(140,85,255,.11);
  color:#d9c2ff;
  box-shadow:0 0 18px rgba(140,85,255,.10);
}

.reflection-action{
  border:1px solid rgba(177,114,255,.48);
  background:rgba(140,85,255,.11);
  color:#f1e7ff;
}

.reflection-action:hover{
  border-color:rgba(201,157,255,.82);
  box-shadow:0 0 18px rgba(140,85,255,.15);
}

/* =========================================================
   ACTIVE SKILL
========================================================= */

.right-skill-card{
  border-color:rgba(25,200,255,.42);
  background:
    linear-gradient(
      180deg,
      rgba(25,200,255,.10),
      rgba(4,12,24,.82)
    );
}

.skill-kicker{
  color:var(--blue2);
}

.skill-state{
  border:1px solid rgba(25,200,255,.32);
  background:rgba(25,200,255,.07);
  color:var(--blue2);
}

.skill-icon{
  border:1px solid rgba(25,200,255,.40);
  background:rgba(25,200,255,.10);
  color:var(--blue);
  box-shadow:0 0 18px rgba(25,200,255,.12);
}

.compact-source-note{
  margin:-4px 0 9px;
  font-size:8px;
  line-height:1.35;
}

.skill-progress-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:10px;
  color:#ccecff;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
}

.skill-progress-bar{
  height:5px;
  margin-top:5px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}

.skill-progress-fill{
  width:0%;
  height:100%;
  border-radius:inherit;
  background:
    linear-gradient(
      90deg,
      var(--blue),
      var(--blue2)
    );
  box-shadow:0 0 12px rgba(25,200,255,.55);
}

.active-skill-data{
  margin-top:9px;
}

.active-skill-task{
  display:grid;
  gap:4px;
  padding:8px 9px;
  border-radius:9px;
  border:1px solid rgba(101,230,255,.13);
  background:rgba(1,8,16,.30);
}

.active-skill-task span{
  color:var(--muted);
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.active-skill-task b{
  color:#eaf7ff;
  font-size:9px;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.active-skill-hidden-meta{
  display:none;
}

.skill-compact-actions{
  margin-top:9px;
}

.skill-action{
  margin-top:0;
  border:1px solid rgba(25,200,255,.50);
  background:rgba(25,200,255,.10);
  color:#e1faff;
}

.skill-action:hover{
  border-color:var(--blue2);
  box-shadow:0 0 18px rgba(25,200,255,.15);
}

.skill-complete-hidden{
  display:none;
}

/* =========================================================
   CURRENT GROWTH
========================================================= */

.current-growth-card{
  border-color:rgba(255,194,71,.34);
  background:
    linear-gradient(
      180deg,
      rgba(255,194,71,.08),
      rgba(4,12,24,.82)
    );
}

.growth-kicker{
  color:#ffe099;
}

.growth-stat-grid{
  display:grid;
  grid-template-columns:
    repeat(4, minmax(0,1fr));
  gap:6px;
}

.growth-stat{
  min-width:0;
  padding:8px 5px;
  text-align:center;
  border-right:1px solid rgba(255,255,255,.10);
}

.growth-stat:last-child{
  border-right:0;
}

.growth-stat strong{
  display:block;
  color:#fff2c8;
  font-size:16px;
  line-height:1;
}

.growth-stat span{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:7px;
  line-height:1.25;
  text-transform:uppercase;
}

/* =========================================================
   ACHIEVEMENTS
========================================================= */

.achievements-card{
  border-color:rgba(25,200,255,.34);
  background:
    linear-gradient(
      180deg,
      rgba(25,200,255,.08),
      rgba(4,12,24,.82)
    );
}

.achievement-kicker{
  color:var(--blue2);
}

.achievement-open-button{
  opacity:.48;
  cursor:not-allowed;
}

.achievement-card-content{
  display:flex;
  align-items:center;
  gap:13px;
}

.achievement-main-badge{
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  border:1px solid rgba(101,230,255,.42);
  background:rgba(25,200,255,.09);
  color:var(--blue2);
  font-size:23px;
  box-shadow:0 0 18px rgba(25,200,255,.13);
}

.achievement-count{
  display:flex;
  align-items:baseline;
  gap:4px;
}

.achievement-count strong{
  color:#dff8ff;
  font-size:19px;
}

.achievement-count span{
  color:var(--muted);
  font-size:11px;
}

.achievement-caption{
  margin-top:3px;
  color:var(--muted);
  font-size:8px;
  text-transform:uppercase;
}

/* =========================================================
   TABLET
========================================================= */

@media(max-width:1400px){
  .dashboard{
    grid-template-columns:
      minmax(0,1.08fr)
      minmax(440px,.92fr);
  }

  .right-dashboard-grid{
    gap:10px;
  }

  .compact-card-content h3{
    font-size:13px;
  }

  .compact-card-content p{
    font-size:9px;
  }
}

/* =========================================================
   MOBILE AND NARROW SCREENS
========================================================= */

@media(max-width:1200px){
  .dashboard{
    grid-template-columns:1fr;
  }

  .right-grid{
    width:100%;
  }

  .right-dashboard-grid{
     grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .right-grid{
    gap:10px;
  }

  .right-dashboard-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .right-dashboard-card{
    padding:14px;
  }

  .route-map{
    padding:14px;
  }

  .route-scene{
    height:210px;
  }

  .right-card-head .panel-title{
    font-size:14px;
  }

  .compact-card-body{
    grid-template-columns:48px minmax(0,1fr);
  }

  .compact-card-icon{
    width:46px;
    height:46px;
  }

  .compact-card-content h3{
    font-size:15px;
  }

  .compact-card-content p{
    font-size:11px;
  }

  .compact-card-action{
    min-height:44px;
    padding:11px 13px;
    font-size:11px;
  }

  .right-card-link{
    min-height:36px;
    padding:8px 11px;
  }

  .growth-stat-grid{
    grid-template-columns:
      repeat(2, minmax(0,1fr));
    gap:0;
  }

  .growth-stat{
    min-height:58px;
    display:grid;
    place-content:center;
    border-right:1px solid rgba(255,255,255,.10);
    border-bottom:1px solid rgba(255,255,255,.10);
  }

  .growth-stat:nth-child(2){
    border-right:0;
  }

  .growth-stat:nth-child(3),
  .growth-stat:nth-child(4){
    border-bottom:0;
  }

  .growth-stat:nth-child(4){
    border-right:0;
  }

  .growth-stat strong{
    font-size:18px;
  }

  .growth-stat span{
    font-size:8px;
  }

  .skill-action{
    min-height:44px;
  }
}

@media(max-width:420px){
  .route-scene{
    height:180px;
  }

  .route-completion{
    width:52px;
    height:52px;
    flex-basis:52px;
  }

  .right-card-head{
    gap:7px;
  }

  .compact-card-body{
    grid-template-columns:42px minmax(0,1fr);
    gap:9px;
  }

  .compact-card-icon{
    width:40px;
    height:40px;
    font-size:18px;
  }

  .achievement-main-badge{
    width:44px;
    height:44px;
    flex-basis:44px;
  }
}
/* =========================================================
   PROGRESS RESULTS — LOWER SECTION
========================================================= */

.progress-results-grid{
  grid-template-columns:
    repeat(5, minmax(0, 1fr));
  gap:8px;
}

.progress-results-grid .change{
  min-width:0;
  min-height:58px;
  display:grid;
  align-content:center;
  gap:6px;
}

.progress-results-grid .change span{
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  line-height:1.3;
  text-transform:uppercase;
}

.progress-results-grid .change b{
  color:var(--blue2);
  font-size:16px;
  overflow-wrap:anywhere;
}

@media(max-width:900px){
  .progress-results-grid{
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .progress-results-grid .change:last-child{
    grid-column:1 / -1;
  }
}

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

  .progress-results-grid .change:last-child{
    grid-column:auto;
  }
}
/* =========================================================
   MOBILE SHELL — CRITICAL FIX
========================================================= */

@media(max-width:760px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  .dz-shell{
    width:100%;
    max-width:100%;
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:8px;
  }

  .sidebar,
  .main,
  .topbar,
  .dashboard,
  .left-grid,
  .right-grid,
  .right-dashboard-grid,
  .dz-panel{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .sidebar{
    display:flex;
    flex-direction:column;
    min-height:auto;
  }

  .main{
    display:flex;
    flex-direction:column;
  }

  .dashboard{
    display:flex;
    flex-direction:column;
    gap:10px;
  }

  .left-grid,
  .right-grid{
    display:flex;
    flex-direction:column;
    gap:10px;
  }

  .right-dashboard-grid{
    display:flex;
    flex-direction:column;
    gap:10px;
  }

  .brand,
  .user-card,
  .sidebar-primary-actions,
  .cabinet-navigation{
    width:100%;
    max-width:100%;
    grid-column:auto;
    grid-row:auto;
  }

  .lorien-panel{
    width:100%;
    min-height:auto;
  }

  .lorien-panel .consult-box{
    width:100%;
    min-height:auto;
    padding:12px;
  }

  .cabinet-ai-log{
    width:100%;
    min-height:280px;
    max-height:340px;
  }

  .chat-input-row{
    width:100%;
    grid-template-columns:minmax(0,1fr) 48px;
  }

  .chat-input{
    width:100%;
    min-width:0;
  }

  .lorien-support-row{
    width:100%;
    grid-template-columns:1fr;
  }

  .lorien-support-card,
  .cabinet-oracle-button{
    width:100%;
    max-width:100%;
  }

  .topbar{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    padding:10px;
  }

  .topbar-left,
  .topbar-right{
    width:100%;
    gap:10px;
  }

  .topbar-right{
    justify-content:flex-start;
  }

  .translate-box{
    min-width:0;
    max-width:100%;
  }

  img,
  input,
  button,
  a{
    max-width:100%;
  }
}
/* =========================================================
   INSIGHTS SECTION — APPROVED LOWER LAYOUT
========================================================= */

.insights-section{
  display:grid;
  gap:12px;
  min-width:0;
}

.insights-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:0 4px;
}

.insights-kicker{
  margin-bottom:4px;
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.insights-title{
  margin:0;
  color:var(--blue2);
  font-size:15px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.insights-profile-meta{
  margin:0;
  display:flex;
  justify-content:flex-end;
  gap:16px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:9px;
}

.insights-profile-meta b{
  color:#eaf7ff;
}

.insights-grid{
  display:grid;
  grid-template-columns:
    repeat(5, minmax(0, 1fr));
  gap:10px;
  min-width:0;
}

.insight-card{
  min-width:0;
  min-height:180px;
  padding:13px;
  display:flex;
  flex-direction:column;
}

.insight-card-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:11px;
}

.insight-icon{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:grid;
  place-items:center;
  border-radius:11px;
  border:1px solid rgba(101,230,255,.28);
  background:rgba(25,200,255,.08);
  color:var(--blue2);
  font-size:17px;
}

.insight-label{
  margin-bottom:3px;
  color:var(--muted);
  font-size:7px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.insight-card h3{
  margin:0;
  color:#f1fbff;
  font-size:12px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.insight-values{
  display:grid;
  gap:5px;
}

.insight-values .change{
  min-width:0;
  min-height:29px;
  padding:6px 7px;
  gap:7px;
  align-items:center;
  font-size:8px;
}

.insight-values .change span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.insight-values .change b{
  flex:0 0 auto;
  max-width:48%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.insight-main-value{
  min-height:78px;
  padding:11px;
  display:grid;
  align-content:center;
  gap:7px;
  border-radius:11px;
  border:1px solid rgba(101,230,255,.13);
  background:rgba(1,8,16,.30);
}

.insight-main-value strong{
  color:#eaf7ff;
  font-size:13px;
  line-height:1.3;
  overflow-wrap:anywhere;
}

.insight-main-value span{
  color:var(--muted);
  font-size:9px;
  line-height:1.4;
}

.insight-link{
  min-height:31px;
  margin-top:auto;
  padding:7px 9px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  border:1px solid rgba(101,230,255,.24);
  background:rgba(25,200,255,.05);
  color:var(--blue2);
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.insight-link:hover{
  border-color:rgba(101,230,255,.62);
  box-shadow:0 0 16px rgba(25,200,255,.10);
}

/* RESOURCES */

.resources-insight{
  border-color:rgba(25,200,255,.36);
}

.resources-insight .insight-icon{
  border-color:rgba(25,200,255,.40);
  background:rgba(25,200,255,.10);
  color:var(--blue2);
}

/* BLOCKER */

.blocker-insight{
  border-color:rgba(255,54,80,.42);
  background:
    linear-gradient(
      180deg,
      rgba(255,54,80,.10),
      rgba(4,12,24,.82)
    );
}

.blocker-insight .insight-icon{
  border-color:rgba(255,54,80,.44);
  background:rgba(255,54,80,.10);
  color:#ff8797;
}

/* TALENTS */

.talents-insight{
  border-color:rgba(255,194,71,.38);
  background:
    linear-gradient(
      180deg,
      rgba(255,194,71,.08),
      rgba(4,12,24,.82)
    );
}

.talents-insight .insight-icon{
  border-color:rgba(255,194,71,.42);
  background:rgba(255,194,71,.09);
  color:#ffe099;
}

/* INTENTIONS */

.intentions-insight{
  border-color:rgba(32,245,138,.34);
  background:
    linear-gradient(
      180deg,
      rgba(32,245,138,.07),
      rgba(4,12,24,.82)
    );
}

.intentions-insight .insight-icon{
  border-color:rgba(32,245,138,.38);
  background:rgba(32,245,138,.08);
  color:var(--green);
}

/* PROGRESS */

.progress-insight{
  border-color:rgba(140,85,255,.40);
  background:
    linear-gradient(
      180deg,
      rgba(140,85,255,.10),
      rgba(4,12,24,.82)
    );
}

.progress-insight .insight-icon{
  border-color:rgba(177,114,255,.40);
  background:rgba(140,85,255,.10);
  color:#d9c2ff;
}

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

.insight-progress-grid > div{
  min-width:0;
  min-height:45px;
  padding:7px;
  display:grid;
  place-content:center;
  text-align:center;
  border-radius:9px;
  border:1px solid rgba(177,114,255,.14);
  background:rgba(1,8,16,.30);
}

.insight-progress-grid strong{
  color:#e8d9ff;
  font-size:15px;
  line-height:1;
}

.insight-progress-grid span{
  margin-top:4px;
  color:var(--muted);
  font-size:7px;
  text-transform:uppercase;
}

.insight-last-activity{
  margin-top:7px;
  padding-top:7px;
  display:flex;
  justify-content:space-between;
  gap:8px;
  border-top:1px solid rgba(177,114,255,.13);
  color:var(--muted);
  font-size:8px;
}

.insight-last-activity b{
  color:#e8d9ff;
}

/* =========================================================
   INSIGHTS — TABLET
========================================================= */

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

  .progress-insight{
    grid-column:span 2;
  }
}

/* =========================================================
   INSIGHTS — MOBILE
========================================================= */

@media(max-width:760px){
  .insights-section{
    width:100%;
  }

  .insights-section-head{
    align-items:flex-start;
    flex-direction:column;
    gap:9px;
    padding:0;
  }

  .insights-profile-meta{
    width:100%;
    justify-content:flex-start;
    gap:8px 14px;
    font-size:8px;
  }

  .insights-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .progress-insight{
    grid-column:auto;
  }

  .insight-card{
    min-height:auto;
    padding:14px;
  }

  .insight-card h3{
    font-size:13px;
  }

  .insight-values .change{
    min-height:36px;
    padding:8px 9px;
    font-size:10px;
  }

  .insight-main-value{
    min-height:72px;
  }

  .insight-link{
    min-height:44px;
    margin-top:12px;
    font-size:10px;
  }

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

  .insight-progress-grid > div{
    min-height:58px;
  }
}
/* =========================================================
   DESKTOP MAIN AREA — APPROVED COMPACT GEOMETRY
========================================================= */

@media(min-width:1201px){
  .dashboard{
    align-items:start;
  }

  .left-grid{
    height:auto;
    display:grid;
    grid-template-rows:auto;
    align-content:start;
  }

  .lorien-panel{
    width:100%;
    height:auto;
    min-height:0;
    display:block;
  }

  .lorien-panel .consult-box{
    width:100%;
    height:auto;
    min-height:0;
    display:flex;
    flex-direction:column;
  }

  .cabinet-ai-log{
    flex:none;
    width:100%;
    min-height:260px;
    max-height:300px;
    padding:18px;
  }

  .cabinet-ai-msg{
    max-width:82%;
    padding:14px 16px;
    font-size:14px;
    line-height:1.55;
  }

  .lorien-support-row{
    margin-top:2px;
  }
}

/* =========================================================
   RIGHT COLUMN — COMPACT MOCKUP GEOMETRY
========================================================= */

@media(min-width:1201px){
  .right-grid{
    gap:10px;
  }

  .right-dashboard-grid{
    gap:10px;
  }

  .route-map{
    padding:12px 14px;
  }

  .route-scene{
    height:150px;
    margin-top:4px;
  }

  .route-progress{
    margin-top:6px;
  }

  .right-dashboard-card{
    min-height:0;
    padding:11px 12px;
  }

  .right-card-head{
    margin-bottom:8px;
  }

  .right-card-head .panel-title{
    font-size:13px;
  }

  .right-card-kicker{
    font-size:9px;
  }

  .right-card-state{
    padding:5px 7px;
    font-size:9px;
  }

  .compact-card-body{
    grid-template-columns:40px minmax(0,1fr);
    gap:9px;
  }

  .compact-card-icon{
    width:38px;
    height:38px;
    font-size:18px;
  }

  .compact-card-content h3{
    margin:2px 0 4px;
    font-size:13px;
  }

  .compact-card-content p{
    display:-webkit-box;
    overflow:hidden;
    font-size:11px;
    line-height:1.35;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .compact-card-label{
    font-size:9px;
  }

  .compact-card-action{
    min-height:32px;
    margin-top:8px;
    padding:7px 9px;
    font-size:9px;
  }

  .compact-source-note{
    display:none;
  }

  .active-skill-task{
    padding:7px 8px;
  }

  .active-skill-task b{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:9px;
  }

  .skill-progress-row{
    margin-top:7px;
    font-size:9px;
  }

  .skill-compact-actions{
    margin-top:7px;
  }

  .growth-stat{
    padding:6px 4px;
  }

  .growth-stat strong{
    font-size:15px;
  }

  .growth-stat span{
    font-size:8px;
  }

  .milestone-content{
    grid-template-columns:40px minmax(0,1fr);
    gap:9px;
  }

  .milestone-icon{
    width:38px;
    height:38px;
    font-size:18px;
  }

  .milestone-copy h3{
    margin:2px 0 4px;
    font-size:13px;
  }

  .milestone-copy p{
    display:-webkit-box;
    overflow:hidden;
    font-size:11px;
    line-height:1.35;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .milestone-progress-bar{
    margin-top:8px;
  }
}
/* =========================================================
   INSIGHTS — COMPACT MOCKUP CONTENT
========================================================= */

@media(min-width:1201px){
  .insights-section{
    gap:10px;
  }

  .insights-section-head{
    align-items:center;
  }

  .insights-profile-meta{
    display:none;
  }

  .insights-grid{
    grid-template-columns:
      repeat(5, minmax(0, 1fr));
    gap:10px;
  }

  .insight-card{
    min-height:146px;
    padding:14px;
  }

  .insight-card-head{
    margin-bottom:10px;
  }

  .insight-icon{
    width:40px;
    height:40px;
    flex-basis:40px;
    font-size:18px;
  }

  .insight-label{
    font-size:9px;
  }

  .insight-card h3{
    font-size:14px;
  }

  .insight-values{
    gap:0;
  }

  .insight-values .change{
    display:none;
  }

  .insight-values .change:first-child{
    min-height:58px;
    padding:11px;
    display:flex;
    align-items:center;
    font-size:11px;
  }

  .insight-values .change:first-child span{
    white-space:normal;
    line-height:1.35;
  }

  .insight-values .change:first-child b{
    max-width:52%;
    white-space:normal;
    text-align:right;
    font-size:12px;
    line-height:1.3;
  }

  .insight-main-value{
    min-height:58px;
    padding:11px;
  }

  .insight-main-value strong{
    font-size:14px;
  }

  .insight-main-value span{
    font-size:11px;
  }

  .insight-link{
    min-height:34px;
    margin-top:auto;
    font-size:9px;
  }

  .insight-progress-grid{
    grid-template-columns:
      repeat(4, minmax(0, 1fr));
    gap:5px;
  }

  .insight-progress-grid > div{
    min-height:54px;
    padding:6px;
  }

  .insight-progress-grid strong{
    font-size:16px;
  }

  .insight-progress-grid span{
    font-size:8px;
  }

  .insight-last-activity{
    display:none;
  }
}
/* =========================================================
   DESKTOP COLUMN HEIGHTS — FINAL ALIGNMENT
========================================================= */

@media(min-width:1201px){
  .dz-shell{
    align-items:stretch;
  }

  .sidebar{
    min-height:calc(100vh - 32px);
    height:100%;
  }

  .main{
    min-height:calc(100vh - 32px);
  }

  .dashboard{
    display:grid;
    grid-template-columns:
      minmax(0, 1.16fr)
      minmax(0, .84fr);
    gap:14px;
    align-items:stretch;
  }

  .left-grid,
  .right-grid{
    height:100%;
    min-height:0;
  }

  .left-grid{
    display:flex;
    flex-direction:column;
  }

  .right-grid{
    display:grid;
    align-content:start;
  }

  .lorien-panel{
    flex:1 1 auto;
    height:100%;
    min-height:0;
  }

  .lorien-panel .consult-box{
    height:100%;
    min-height:0;
    display:flex;
    flex-direction:column;
  }

  .cabinet-ai-log{
    flex:1 1 auto;
    min-height:260px;
    max-height:none;
  }

  .lorien-support-row{
    margin-top:auto;
  }

  .insights-section{
    margin-top:0;
  }
}
/* =========================================================
   DESKTOP SIDEBAR + LORIEN SUPPORT SIZE
========================================================= */

@media(min-width:1201px){
  .dz-shell{
    align-items:stretch;
  }

  .sidebar{
    height:100%;
    min-height:100%;
  }

  .cabinet-navigation{
    flex:1 1 auto;
  }

  .lorien-support-row{
    gap:12px;
  }

  .lorien-support-card{
    min-height:82px;
    padding:14px 15px;
    gap:13px;
  }

  .lorien-support-icon{
    width:42px;
    height:42px;
    flex-basis:42px;
    font-size:20px;
  }

  .lorien-support-content strong{
    font-size:13px;
  }

  .lorien-support-content small{
    font-size:11px;
    line-height:1.4;
  }

  .cabinet-oracle-button{
    min-height:44px;
    padding:10px 14px;
    font-size:11px;
  }
}

/* =========================================================
   INSIGHTS — FULL SCREEN RESULT MODAL
========================================================= */

body.insight-modal-open{
  overflow:hidden;
}

.insight-modal{
  position:fixed;
  inset:0;
  z-index:5000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(2, 6, 14, .82);
  backdrop-filter:blur(10px);
  opacity:0;
  transition:opacity .18s ease;
}

.insight-modal[hidden]{
  display:none;
}

.insight-modal.is-visible{
  opacity:1;
}

.insight-modal-dialog{
  width:min(920px, 100%);
  max-height:calc(100vh - 56px);
  overflow:auto;
  padding:28px;
  border:1px solid rgba(77, 208, 225, .28);
  border-radius:22px;
  background:
    linear-gradient(
      145deg,
      rgba(17, 27, 43, .98),
      rgba(7, 13, 24, .99)
    );
  box-shadow:
    0 32px 90px rgba(0, 0, 0, .62),
    0 0 40px rgba(77, 208, 225, .08);
  transform:translateY(18px) scale(.98);
  transition:transform .18s ease;
}

.insight-modal.is-visible .insight-modal-dialog{
  transform:translateY(0) scale(1);
}

.insight-modal-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding-bottom:20px;
  border-bottom:1px solid rgba(255, 255, 255, .09);
}

.insight-modal-kicker{
  margin-bottom:6px;
  color:#4dd0e1;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.insight-modal-header h2{
  margin:0;
  color:#ffffff;
  font-size:30px;
  line-height:1.15;
}

.insight-modal-header p{
  margin:8px 0 0;
  color:rgba(255, 255, 255, .62);
  font-size:14px;
  line-height:1.5;
}

.insight-modal-close{
  width:44px;
  height:44px;
  flex:0 0 44px;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:12px;
  background:rgba(255, 255, 255, .04);
  color:#ffffff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

.insight-modal-close:hover{
  border-color:rgba(77, 208, 225, .55);
  background:rgba(77, 208, 225, .08);
}

.insight-modal-body{
  padding-top:22px;
}

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

.insight-modal-result-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:78px;
  padding:18px 20px;
  border:1px solid rgba(255, 255, 255, .09);
  border-radius:14px;
  background:rgba(255, 255, 255, .035);
}

.insight-modal-result-row span{
  color:rgba(255, 255, 255, .68);
  font-size:15px;
  line-height:1.4;
}

.insight-modal-result-row strong{
  color:#ffffff;
  font-size:20px;
  line-height:1.3;
  text-align:right;
}

@media(max-width:760px){
  .insight-modal{
    align-items:stretch;
    justify-content:stretch;
    padding:0;
  }

  .insight-modal-dialog{
    width:100%;
    height:100vh;
    max-height:100vh;
    padding:20px 18px;
    border-radius:0;
  }
}
  .insight-modal-header h2{
    font-size:24px;
  }

  .insight-modal-results-grid{
    grid-template-columns:1fr;
  }

  .insight-modal-result-row{
    min-height:68px;
    padding:15px;
  }

  .insight-modal-result-row span{
    font-size:14px;
  }

  .insight-modal-result-row strong{
    font-size:17px;
  }
/* INSIGHT MODAL — LARGER READABLE TYPE */

.insight-modal-kicker{
  font-size:14px;
}

.insight-modal-header h2{
  font-size:38px;
}

.insight-modal-header p{
  font-size:18px;
}

.insight-modal-result-row span{
  font-size:19px;
}

.insight-modal-result-row strong{
  font-size:25px;
}

@media(max-width:760px){
  .insight-modal-kicker{
    font-size:13px;
  }

  .insight-modal-header h2{
    font-size:31px;
  }

  .insight-modal-header p{
    font-size:18px;
  }

  .insight-modal-result-row span{
    font-size:18px;
  }

  .insight-modal-result-row strong{
    font-size:23px;
  }
}
/* =========================================================
   PROGRESS PAGE — FULL DETAIL CARDS
========================================================= */

.progress-page{
  width:100%;
  min-height:100vh;
  padding:28px;
}

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

.progress-page-title{
  margin:0;
  color:#ffffff;
  font-size:34px;
  line-height:1.15;
}

.progress-page-subtitle{
  margin:10px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.5;
}

.progress-detail-page .insights-grid{
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap:16px;
}

.progress-detail-page .insight-card{
  min-height:300px;
  padding:20px;
}

.progress-detail-page .insight-card-head{
  margin-bottom:16px;
}

.progress-detail-page .insight-icon{
  width:48px;
  height:48px;
  flex-basis:48px;
  font-size:22px;
}

.progress-detail-page .insight-label{
  font-size:10px;
}

.progress-detail-page .insight-card h3{
  font-size:17px;
}

.progress-detail-page .insight-values{
  display:grid;
  gap:9px;
}

.progress-detail-page .insight-values .change,
.progress-detail-page .insight-values .change:first-child{
  min-height:46px;
  padding:11px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:12px;
}

.progress-detail-page .insight-values .change span,
.progress-detail-page .insight-values .change:first-child span{
  overflow:visible;
  white-space:normal;
  line-height:1.4;
}

.progress-detail-page .insight-values .change b,
.progress-detail-page .insight-values .change:first-child b{
  max-width:55%;
  overflow:visible;
  white-space:normal;
  text-align:right;
  font-size:13px;
  line-height:1.35;
}

.progress-detail-page .insight-main-value{
  min-height:150px;
  padding:18px;
}

.progress-detail-page .insight-main-value strong{
  font-size:18px;
}

.progress-detail-page .insight-main-value span{
  font-size:13px;
}

.progress-detail-page .insight-progress-grid{
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap:10px;
}

.progress-detail-page .insight-progress-grid > div{
  min-height:82px;
}

.progress-detail-page .insight-progress-grid strong{
  font-size:24px;
}

.progress-detail-page .insight-progress-grid span{
  font-size:10px;
}

.progress-detail-page .insight-last-activity{
  display:flex;
  margin-top:12px;
  padding-top:12px;
  font-size:11px;
}

.progress-detail-page .insight-link{
  min-height:42px;
  margin-top:auto;
  font-size:10px;
}

@media(max-width:1100px){
  .progress-detail-page .insights-grid{
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:760px){
  .progress-page{
    padding:14px;
  }

  .progress-page-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .progress-page-title{
    font-size:28px;
  }

  .progress-detail-page .insights-grid{
    grid-template-columns:1fr;
  }

  .progress-detail-page .insight-card{
    min-height:auto;
  }
}
.progress-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
}

@media(max-width:760px){
  .progress-header-actions{
    width:100%;
    align-items:stretch;
    flex-direction:column;
  }

  .progress-header-actions .translate-box,
  .progress-header-actions .top-home-link{
    width:100%;
    max-width:100%;
  }
}
/* =========================================================
   PROGRESS PAGE — INFORMATION CARD
========================================================= */

.progress-guide-card{
  border-color:rgba(101,230,255,.26);
  background:
    linear-gradient(
      180deg,
      rgba(25,200,255,.07),
      rgba(4,12,24,.82)
    );
}

.progress-guide-card .insight-icon{
  border-color:rgba(101,230,255,.34);
  background:rgba(25,200,255,.09);
  color:var(--blue2);
  font-family:Georgia, serif;
  font-weight:900;
}

.progress-guide-content{
  display:grid;
  gap:14px;
  padding:16px;
  border:1px solid rgba(101,230,255,.13);
  border-radius:12px;
  background:rgba(1,8,16,.30);
}

.progress-guide-content p{
  margin:0;
  color:#b8d8e8;
  font-size:13px;
  line-height:1.55;
}

.progress-guide-content strong{
  color:var(--blue2);
  font-size:13px;
  line-height:1.4;
}
/* =========================================================
   ACTIVE INTENTION CARD
========================================================= */

.intention-card{
  border-color:rgba(53,224,163,.32);
  background:
    linear-gradient(
      180deg,
      rgba(13,130,99,.12),
      rgba(3,13,23,.94)
    );
}

.intention-kicker{
  color:#52e2b0;
}

.intention-state{
  border-color:rgba(53,224,163,.35);
  background:rgba(53,224,163,.08);
  color:#52e2b0;
}

.intention-card-body{
  display:grid;
  gap:12px;
  margin-top:12px;
}

.intention-card-section{
  display:grid;
  gap:5px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:10px;
  background:rgba(1,8,16,.32);
}

.intention-card-section h3{
  margin:0;
  color:#eefbff;
  font-size:14px;
  line-height:1.3;
}

.intention-card-section p{
  margin:0;
  color:#9ebdcb;
  font-size:11px;
  line-height:1.45;
}

.today-report-section{
  border-color:rgba(53,224,163,.18);
}

.intention-card-actions{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:8px;
  margin-top:auto;
  padding-top:12px;
  align-items:center;
}

.intention-journal-action{
  border-color:rgba(53,224,163,.35);
  background:rgba(53,224,163,.08);
  color:#52e2b0;
}

.intention-open-link{
  display:flex;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:8px;
  color:#9fc7d8;
  font-size:9px;
  font-weight:800;
  letter-spacing:.04em;
  text-decoration:none;
  text-transform:uppercase;
  align-items:center;
  justify-content:center;
}

.intention-open-link:hover{
  border-color:rgba(53,224,163,.30);
  color:#52e2b0;
}
/* =========================================================
   CABINET NEXT ACTION — COMPACT CARD
========================================================= */

.cabinet-next-action-card{
  width:auto;
  max-width:560px;
  min-height:0;
  height:auto;
  padding:18px 20px;
  display:block;
  align-self:flex-start;
  white-space:normal;
}

.cabinet-next-action-card strong{
  display:block;
  margin:0 0 9px;
  color:#ffffff;
  font-size:18px;
  line-height:1.25;
}

.cabinet-next-action-card div{
  margin:0;
  color:#d4edf7;
  font-size:14px;
  line-height:1.5;
  white-space:normal;
}

.cabinet-next-action-card +
.cabinet-ai-actions{
  margin-top:0;
  align-self:flex-start;
}

.cabinet-next-action-card +
.cabinet-ai-actions .btn{
  min-height:40px;
  padding:9px 15px;
}
/* =========================================================
   JOURNAL MOBILE SIDEBAR FIX
========================================================= */

@media(max-width:768px){
  body.journal-page .lp-wrapper{
    width:100%;
    min-height:100vh;
    display:block;
  }

  body.journal-page .lp-left{
    position:fixed;
    top:0;
    bottom:0;
    left:0;
    z-index:1002;

    width:min(320px, 86vw);
    height:100vh;
    overflow-y:auto;

    transform:translateX(-105%);
    transition:transform .2s ease;
  }

  body.journal-page.sidebar-open .lp-left{
    transform:translateX(0);
  }

  body.journal-page .lp-right{
    width:100%;
    min-width:0;
    margin-left:0 !important;
  }

  body.journal-page .mvp-overlay{
    position:fixed;
    inset:0;
    z-index:1001;

    display:none;
    background:rgba(0,0,0,.62);
  }

  body.journal-page.sidebar-open .mvp-overlay{
    display:block;
  }
}
/* =========================================================
   QUICK INSIGHT INSTALL
========================================================= */

.quick-insight-install-card{
  display:grid;
  gap:10px;
  padding:16px;
}

.quick-insight-install-kicker{
  color:#42d6f5;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.quick-insight-install-card strong{
  color:#f7fbff;
  font-size:14px;
  line-height:1.45;
}

.quick-insight-install-button,
.quick-insight-open-button{
  width:100%;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;

  border:1px solid rgba(44,214,145,.55);
  border-radius:12px;

  background:
    linear-gradient(
      180deg,
      rgba(17,133,94,.95),
      rgba(7,71,55,.95)
    );

  color:#ffffff;
  font:inherit;
  font-size:13px;
  font-weight:900;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
}

.quick-insight-open-button{
  border-color:rgba(86,160,210,.35);
  background:rgba(15,32,52,.86);
}

.quick-insight-install-button[hidden]{
  display:none;
}

.quick-insight-install-help{
  margin:0;
  color:#9db1c5;
  font-size:12px;
  line-height:1.45;
}

.diagnostics-locked {
  opacity: 0.38;
  filter: grayscale(0.35);
  cursor: not-allowed !important;
}

.diagnostics-locked * {
  cursor: not-allowed !important;
}

.initial-diagnostics-required
#sidebarDiagnosticsButton {
  box-shadow:
    0 0 0 1px rgba(56, 189, 248, 0.45),
    0 0 24px rgba(56, 189, 248, 0.18);
}

.initial-diagnostics-required
#sidebarDiagnosticsButton::after {
  content: "START HERE";
  margin-left: auto;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  opacity: 0.8;
}

.initial-diagnostics-completed
#sidebarDiagnosticsButton::after {
  content: "DONE";
  margin-left: auto;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  opacity: 0.65;
}

/* =========================================================
   MISSION LECTURE MODAL
========================================================= */

.mission-lecture-launch{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:18px 0;
  padding:14px 16px;
  border:1px solid rgba(101,230,255,.22);
  border-radius:14px;
  background:
    linear-gradient(
      90deg,
      rgba(25,200,255,.09),
      rgba(1,8,16,.46)
    );
}

.mission-lecture-launch .quick-title{
  color:var(--blue2);
}

.mission-lecture-launch .quick-sub{
  margin-top:4px;
}

.mission-lecture-modal{
  position:fixed;
  inset:0;
  z-index:6000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
}

.mission-lecture-modal[hidden]{
  display:none;
}

.mission-lecture-backdrop{
  position:absolute;
  inset:0;
  background:rgba(1,5,12,.82);
  backdrop-filter:blur(8px);
}

.mission-lecture-window{
  position:relative;
  z-index:1;
  width:min(920px, 100%);
  max-height:calc(100vh - 56px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(101,230,255,.38);
  border-radius:20px;
  background:
    linear-gradient(
      180deg,
      rgba(8,24,39,.99),
      rgba(3,10,18,.99)
    );
  box-shadow:
    0 30px 90px rgba(0,0,0,.65),
    0 0 40px rgba(25,200,255,.14);
}

.mission-lecture-window-head{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 20px;
  border-bottom:1px solid rgba(101,230,255,.16);
  background:rgba(1,8,16,.78);
}

.mission-lecture-window-head .panel-title{
  margin:0;
}

.mission-lecture-window-sub{
  margin-top:5px;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}

.mission-lecture-minimize{
  flex:0 0 auto;
  min-height:34px;
  padding:8px 12px;
  border:1px solid rgba(101,230,255,.30);
  border-radius:9px;
  background:rgba(25,200,255,.07);
  color:var(--blue2);
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  cursor:pointer;
}

.mission-lecture-minimize:hover{
  border-color:var(--blue2);
  box-shadow:0 0 18px rgba(25,200,255,.14);
}

.mission-lecture-window-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  padding:22px;
}

.mission-lecture-window-body::-webkit-scrollbar{
  width:8px;
}

.mission-lecture-window-body::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(25,200,255,.32);
}

body.mission-lecture-open{
  overflow:hidden;
}

@media(max-width:760px){

  .mission-lecture-launch{
    align-items:stretch;
    flex-direction:column;
  }

  .mission-lecture-launch .btn{
    width:100%;
  }

  .mission-lecture-modal{
    padding:8px;
  }

  .mission-lecture-window{
    width:100%;
    max-height:calc(100vh - 16px);
    border-radius:14px;
  }

  .mission-lecture-window-head{
    align-items:flex-start;
    padding:14px;
  }

  .mission-lecture-window-body{
    padding:16px;
  }

  .mission-lecture-minimize{
    padding:7px 9px;
    font-size:9px;
  }
}

/* =========================================================
   MISSION DAY SCALE
========================================================= */

.mission-day-scale{
  width:100%;
  display:grid;
  grid-template-columns:
    repeat(7, minmax(0, 1fr));
  align-items:start;
  margin:14px 0 24px;
  padding:8px 4px 4px;
}

.mission-day-step{
  position:relative;
  min-width:0;
  padding:0;
  border:0;
  background:transparent;
  color:var(--muted);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  cursor:pointer;
}

.mission-day-step::after{
  content:"";
  position:absolute;
  top:17px;
  left:calc(50% + 19px);
  width:calc(100% - 38px);
  height:3px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
}

.mission-day-step:last-child::after{
  display:none;
}

.mission-day-dot{
  position:relative;
  z-index:2;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:2px solid rgba(126,166,189,.28);
  background:#06111f;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  box-shadow:
    0 0 0 5px rgba(2,7,16,.72);
}

.mission-day-label{
  font-size:9px;
  font-weight:900;
  letter-spacing:.07em;
  white-space:nowrap;
}

.mission-day-step.completed{
  color:var(--green);
}

.mission-day-step.completed .mission-day-dot{
  border-color:rgba(32,245,138,.82);
  background:rgba(32,245,138,.14);
  color:var(--green);
  box-shadow:
    0 0 0 5px rgba(2,7,16,.72),
    0 0 14px rgba(32,245,138,.20);
}

.mission-day-step.completed::after{
  background:rgba(32,245,138,.62);
}

.mission-day-step.active{
  color:var(--blue2);
}

.mission-day-step.active .mission-day-dot{
  border-color:var(--blue);
  background:rgba(25,200,255,.16);
  color:#ffffff;
  box-shadow:
    0 0 0 5px rgba(2,7,16,.72),
    0 0 18px rgba(25,200,255,.42);
}

.mission-day-step.available .mission-day-dot{
  border-color:rgba(101,230,255,.42);
  color:var(--blue2);
}

.mission-day-step:disabled{
  opacity:.42;
  cursor:not-allowed;
}

@media(max-width:760px){
  .mission-day-scale{
    overflow-x:auto;
    grid-template-columns:
      repeat(7, minmax(64px, 1fr));
    padding-bottom:8px;
  }

  .mission-day-dot{
    width:32px;
    height:32px;
  }

  .mission-day-step::after{
    top:15px;
    left:calc(50% + 17px);
    width:calc(100% - 34px);
  }
}

/* =========================================================
   LORIEN INPUT — FIXED BOTTOM
========================================================= */

@media(min-width:1201px){

  .main{
    padding-bottom:78px;
  }

  #lorien .chat-input-row{
    position:fixed;
    left:var(--lorien-input-left);
    bottom:14px;

    width:var(--lorien-input-width);

    z-index:4000;

    margin:0;
    padding:7px;

    grid-template-columns:minmax(0, 1fr) 58px;

    border:1px solid rgba(101,230,255,.34);
    border-radius:14px;

    background:rgba(3,10,18,.97);

    box-shadow:
      0 -8px 24px rgba(0,0,0,.35),
      0 0 18px rgba(25,200,255,.10);
  }
}


/* =========================================================
   ORACLE
========================================================= */

.oracle-modal{
  position:fixed;
  inset:0;
  z-index:9999;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:18px;

  background:rgba(0,0,0,.58);
}

.oracle-modal.hidden{
  display:none !important;
  pointer-events:none !important;
}

.oracle-card{
  width:92%;
  max-width:540px;

  padding:22px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;

  background:
    radial-gradient(
      circle at top right,
      rgba(34,197,94,.14),
      transparent 40%
    ),
    linear-gradient(
      135deg,
      #0f172a,
      #111f37
    );

  box-shadow:
    0 20px 60px rgba(0,0,0,.50),
    0 0 40px rgba(34,197,94,.14);
}

.oracle-title{
  margin-bottom:10px;

  color:#ffffff;

  font-size:20px;
  font-weight:900;
}

.oracle-text{
  margin-bottom:12px;

  color:#d8e2ef;

  font-size:16px;
  line-height:1.55;

  white-space:pre-line;
}

.oracle-sub{
  margin-bottom:12px;

  color:#8191a8;

  font-size:13px;
}

.oracle-close-button{
  min-height:40px;

  padding:9px 16px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;

  background:rgba(255,255,255,.07);

  color:#ffffff;

  font-weight:800;

  cursor:pointer;
}

.oracle-close-button:hover{
  background:rgba(255,255,255,.11);
}
/* =========================================================
   LORIEN INPUT — READABILITY
========================================================= */

@media(min-width:1201px){

  #lorien .chat-input{
    height:58px;
    min-height:58px;

    padding:10px 16px;

    font-size:17px;
    line-height:1.35;
  }

  #lorien .chat-input::placeholder{
    font-size:16px;
  }

  #lorien #cabinetAiSendBtn{
    min-height:58px;
    font-size:18px;
  }
}
/* =========================================================
   LORIEN CHAT — DESKTOP FINAL
========================================================= */

@media(min-width:1201px){

  #lorien .cabinet-chat-shell{
    width:100%;
    min-height:0;

    display:flex;
    flex-direction:column;

    gap:10px;
  }

  #lorien .cabinet-ai-log{
    flex:none;

    width:100%;

    height:calc(100vh - 430px);
    min-height:320px;
    max-height:none;

    overflow-y:auto;

    padding:18px;

    scroll-padding-bottom:18px;
  }

  #lorien .cabinet-next-action-card,
  #lorien .cabinet-ai-actions{
    position:static;

    flex:0 0 auto;
  }

  #lorien .lorien-support-row{
    position:fixed;

    left:var(--lorien-input-left);
    bottom:90px;

    width:var(--lorien-input-width);

    z-index:3999;

    display:grid;
    grid-template-columns:
      repeat(4, minmax(0, 1fr));

    gap:10px;

    margin:0;
    padding:6px;

    background:rgba(3,10,18,.97);

    border:1px solid rgba(101,230,255,.22);
    border-radius:13px;

    box-shadow:
      0 -6px 20px rgba(0,0,0,.28);

    backdrop-filter:blur(14px);
  }

  #lorien .lorien-support-card,
  #lorien .cabinet-oracle-button{
    width:100%;
    min-width:0;

    min-height:58px;

    padding:10px 12px;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:10px;
  }

  #lorien .lorien-support-content strong{
    font-size:12px;
    white-space:nowrap;
  }

  #lorien .lorien-support-icon{
    width:32px;
    height:32px;

    flex:0 0 32px;
  }

  #lorien .chat-input-row{
    position:fixed;

    left:var(--lorien-input-left);
    bottom:14px;

    width:var(--lorien-input-width);

    z-index:4000;

    margin:0;
    padding:7px;

    display:grid;
    grid-template-columns:
      minmax(0, 1fr)
      58px;

    gap:8px;

    border:1px solid rgba(101,230,255,.34);
    border-radius:14px;

    background:rgba(3,10,18,.97);

    box-shadow:
      0 -8px 24px rgba(0,0,0,.35),
      0 0 18px rgba(25,200,255,.10);
  }
}

/* =========================================================
   LORIEN CHAT — TEXT READABILITY
========================================================= */

.cabinet-ai-msg{
  font-size:16px;
  line-height:1.6;
}

@media(max-width:760px){

  .cabinet-ai-msg{
    font-size:16px;
    line-height:1.55;
  }
}

/* =========================================================
   LORIEN CHAT — MOBILE UX
========================================================= */

@media(max-width:760px){

  #lorien .cabinet-chat-shell{
    width:100%;
    min-width:0;

    display:flex;
    flex-direction:column;

    gap:10px;
  }

  #lorien .cabinet-ai-log{
    width:100%;

    min-height:260px;
    max-height:46vh;

    overflow-y:auto;

    padding:16px;
  }

  #lorien .cabinet-ai-log > *{
    flex:0 0 auto;
  }

  #lorien .cabinet-next-action-card{
    width:100%;
    max-width:100%;

    min-height:auto;
    height:auto;

    overflow:visible;
  }

  #lorien .cabinet-ai-actions{
    width:100%;

    flex:0 0 auto;
    position:static;
  }
  
 /* =========================================================
   ACTIVE ROUTE — ROUTE COLOR THEME
========================================================= */

#routeMap .route-line-active{
  stroke:
    var(
      --route-color,
      #19c8ff
    );

  filter:
    drop-shadow(
      0 0 8px
      var(
        --route-color-glow,
        rgba(25,200,255,.72)
      )
    );
}

#routeMap .route-dot.completed{
  border-color:
    var(
      --route-color,
      #19c8ff
    );

  background:
    var(
      --route-color-soft,
      rgba(25,200,255,.16)
    );

  box-shadow:
    0 0 14px
      var(
        --route-color-glow,
        rgba(25,200,255,.72)
      ),
    0 0 0 4px
      rgba(3,10,18,.38);
}

#routeMap .route-dot.completed span{
  color:
    var(
      --route-color-light,
      #65e6ff
    );
}

#routeMap .route-dot.active{
  border-color:
    var(
      --route-color-light,
      #65e6ff
    );

  background:
    var(
      --route-color-soft,
      rgba(25,200,255,.16)
    );

  box-shadow:
    0 0 20px
      var(
        --route-color-glow,
        rgba(25,200,255,.72)
      ),
    0 0 0 4px
      rgba(3,10,18,.38);
}

#routeMap .route-dot.active span{
  color:#ffffff;
}

#routeMap .progress-fill{
  background:
    linear-gradient(
      90deg,
      var(
        --route-color,
        #19c8ff
      ),
      var(
        --route-color-light,
        #65e6ff
      )
    );

  box-shadow:
    0 0 18px
      var(
        --route-color-glow,
        rgba(25,200,255,.72)
      );
}
  #lorien .lorien-support-row{
    position:static;

    width:100%;

    display:grid;
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap:8px;

    margin:0;
  }

  #lorien .lorien-support-card,
  #lorien .cabinet-oracle-button{
    width:100%;
    min-width:0;

    min-height:62px;

    padding:10px 12px;

    display:flex;
    align-items:center;

    gap:10px;

    overflow:hidden;
  }

  #lorien .lorien-support-content{
    width:100%;
    min-width:0;
    overflow:hidden;
  }

  #lorien .lorien-support-content strong{
    display:block;

    width:100%;
    max-width:100%;

    font-size:13px;
    line-height:1.2;

    white-space:normal !important;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  #lorien .lorien-support-content small{
    display:none;
  }

  #lorien .lorien-support-icon{
    width:36px;
    height:36px;

    flex:0 0 36px;
  }

  #lorien .chat-input-row{
    position:sticky;

    left:auto;
    bottom:
      env(
        safe-area-inset-bottom,
        0px
      );

    width:100%;

    z-index:100;

    margin:0;
    padding:6px;

    display:grid;
    grid-template-columns:
      minmax(0, 1fr)
      58px;

    gap:8px;

    border:1px solid rgba(101,230,255,.32);
    border-radius:14px;

    background:rgba(3,10,18,.98);

    box-shadow:
      0 -8px 22px rgba(0,0,0,.32);
  }

  #lorien .chat-input{
    width:100%;

    min-height:60px;
    height:60px;

    padding:10px 14px;

    font-size:17px;
    line-height:1.35;
  }

  #lorien .chat-input::placeholder{
    font-size:16px;
  }

  #lorien #cabinetAiSendBtn{
    width:58px;
    min-width:58px;
    min-height:60px;

    font-size:20px;
  }
}

/* =========================================================
   TODAY'S FOCUS — MVP
========================================================= */

.today-focus-editor{
  display:grid;
  gap:8px;

  margin-top:11px;
  padding:10px;

  border:1px solid rgba(32,245,138,.22);
  border-radius:10px;

  background:rgba(1,8,16,.42);
}

.today-focus-editor[hidden]{
  display:none !important;
}

.today-focus-input{
  width:100%;
  min-width:0;
  min-height:76px;

  resize:vertical;

  padding:11px 12px;

  border:1px solid rgba(32,245,138,.28);
  border-radius:9px;

  background:rgba(1,8,16,.78);

  color:#eafff3;

  font-size:14px;
  line-height:1.45;

  outline:none;
}

.today-focus-input:focus{
  border-color:rgba(32,245,138,.72);

  box-shadow:
    0 0 16px
    rgba(32,245,138,.10);
}

.today-focus-editor-actions{
  display:grid;
  grid-template-columns:
    minmax(0,1fr)
    auto;

  gap:8px;
}

.today-focus-save,
.today-focus-cancel,
.today-focus-change{
  min-height:36px;

  padding:8px 11px;

  border-radius:9px;

  font-size:10px;
  font-weight:900;

  text-transform:uppercase;

  cursor:pointer;
}

.today-focus-save{
  border:1px solid rgba(32,245,138,.48);

  background:rgba(32,245,138,.10);

  color:#dffff0;
}

.today-focus-cancel,
.today-focus-change{
  border:1px solid rgba(255,255,255,.12);

  background:rgba(255,255,255,.04);

  color:#b8d8e8;
}

.today-focus-actions{
  display:grid;
  grid-template-columns:1fr;

  gap:8px;

  margin-top:11px;
}

.today-focus-actions.has-change{
  grid-template-columns:
    minmax(0,1fr)
    auto;
}

.today-focus-actions
.compact-card-action{
  margin-top:0;
}

.today-focus-change[hidden]{
  display:none !important;
}

@media(max-width:760px){

  .today-focus-actions.has-change{
    grid-template-columns:1fr;
  }

  .today-focus-save,
  .today-focus-cancel,
  .today-focus-change{
    min-height:44px;
  }

  .today-focus-input{
    min-height:88px;

    font-size:16px;
  }
}

.today-focus-result-button{
  min-height:36px;

  padding:8px 11px;

  border:1px solid rgba(255,255,255,.12);
  border-radius:9px;

  background:rgba(255,255,255,.04);

  color:#b8d8e8;

  font-size:10px;
  font-weight:900;

  text-transform:uppercase;

  cursor:pointer;
}

.today-focus-result-button[hidden]{
  display:none !important;
}

@media(max-width:760px){

  .today-focus-result-button{
    min-height:44px;
  }
}

/* =========================================================
   RIGHT DASHBOARD — READABILITY
========================================================= */

@media(min-width:1201px){

  .right-card-head .panel-title{
    font-size:15px;
  }

  .right-card-kicker{
    font-size:10px;
  }

  .right-card-state{
    font-size:10px;
  }

  .compact-card-label{
    font-size:10px;
  }

  .compact-card-content h3{
    font-size:14px;
    line-height:1.3;
  }

  .compact-card-content p{
    font-size:12px;
    line-height:1.45;
  }

  .compact-card-action{
    font-size:10px;
  }

  #activeSkillPanel .active-skill-task span{
    font-size:9px;
  }

  #activeSkillPanel .active-skill-task b{
    font-size:12px;
    line-height:1.4;

    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }

  #activeSkillPanel .skill-progress-row{
    font-size:10px;
  }
}