/* =========================================================
   NEXTRAIL
   Pastel Analytics UI v1
   Visual layer only
   ========================================================= */

:root{
  --nx-bg:#f7f7fc;
  --nx-surface:#ffffff;
  --nx-surface-soft:#fbfaff;

  --nx-text:#292b42;
  --nx-muted:#777a90;
  --nx-light:#a1a3b3;

  --nx-border:#e9e7f1;
  --nx-border-strong:#dedbe9;

  --nx-purple:#8171dc;
  --nx-purple-dark:#6d5dcc;
  --nx-purple-soft:#efecff;

  --nx-blue:#79a9e3;
  --nx-blue-soft:#ebf4ff;

  --nx-mint:#68c9ae;
  --nx-mint-soft:#e9f8f3;

  --nx-coral:#ee96a3;
  --nx-coral-soft:#fff0f3;

  --nx-peach:#efa969;
  --nx-peach-soft:#fff4e9;

  --nx-red:#dd747d;
  --nx-red-soft:#fff0f1;

  --nx-shadow:
    0 5px 22px rgba(72,62,108,.06);

  --nx-shadow-hover:
    0 12px 32px rgba(72,62,108,.10);

  --nx-radius:14px;
  --nx-radius-lg:18px;
}

/* ---------- Base ---------- */

html{
  background:var(--nx-bg);
}

body{
  color:var(--nx-text) !important;

  background:
    radial-gradient(
      circle at 90% 0%,
      rgba(129,113,220,.055),
      transparent 28%
    ),
    radial-gradient(
      circle at 100% 100%,
      rgba(104,201,174,.035),
      transparent 25%
    ),
    var(--nx-bg) !important;

  font-family:
    Inter,
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    "Yu Gothic",
    sans-serif !important;

  -webkit-font-smoothing:antialiased;
}

.main,
.wrap,
.app{
  background:transparent !important;
}

/* ---------- Sidebar ---------- */

.side{
  background:
    linear-gradient(
      180deg,
      #8c79dc 0%,
      #8583dc 47%,
      #76b3dd 100%
    ) !important;

  border-right:
    1px solid rgba(255,255,255,.15) !important;

  box-shadow:
    7px 0 30px rgba(79,69,132,.08) !important;
}

.brand{
  color:#fff !important;
  font-weight:800 !important;
  letter-spacing:.035em !important;

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

.brand::before{
  content:"✦";
  margin-right:8px;
  color:#fff;
}

.domain{
  color:#fff !important;

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

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

  border-radius:12px !important;

  box-shadow:none !important;
}

/* IMPORTANT:
   hrefやpointer-events等の動作系CSSは変更しない */

.side .nav a{
  color:
    rgba(255,255,255,.90) !important;

  background:transparent !important;

  border-radius:11px !important;

  font-weight:550 !important;

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

.side .nav a:hover{
  color:#fff !important;

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

  transform:translateX(2px);
}

.side .nav a.active{
  color:#6658bf !important;

  background:#fff !important;

  box-shadow:
    0 8px 20px rgba(74,61,132,.15) !important;
}

/* ---------- Titles ---------- */

h1,
h2,
h3,
h4{
  color:var(--nx-text);
}

.top h1{
  font-weight:800 !important;
  letter-spacing:-.025em;
}

.muted,
.card small,
.metric small{
  color:var(--nx-muted) !important;
}

/* ---------- Inputs ---------- */

input,
select,
textarea{
  color:var(--nx-text) !important;

  background:#fff !important;

  border:
    1px solid var(--nx-border-strong) !important;

  border-radius:10px !important;

  box-shadow:
    0 2px 8px rgba(72,62,108,.025) !important;
}

input:focus,
select:focus,
textarea:focus{
  outline:none !important;

  border-color:
    var(--nx-purple) !important;

  box-shadow:
    0 0 0 3px
    rgba(129,113,220,.10) !important;
}

/* ---------- Buttons ---------- */

button{
  border-radius:10px !important;
}

button.primary,
.primary{
  color:#fff !important;

  background:
    linear-gradient(
      135deg,
      #8b7be2,
      #7565d3
    ) !important;

  border-color:transparent !important;

  box-shadow:
    0 5px 14px rgba(117,101,211,.20) !important;
}

/* ---------- Cards ---------- */

.card,
.panel,
.metric,
.seo-detail-section,
.seo-trend-card{
  background:
    rgba(255,255,255,.97) !important;

  border:
    1px solid var(--nx-border) !important;

  border-radius:
    var(--nx-radius-lg) !important;

  box-shadow:
    var(--nx-shadow) !important;
}

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

.card:hover{
  box-shadow:
    var(--nx-shadow-hover) !important;
}

/* ---------- Dashboard KPI ---------- */

.kpis{
  gap:14px !important;
}

.kpis > .card{
  position:relative;
  overflow:hidden;
}

.kpis > .card:nth-child(1){
  background:
    linear-gradient(
      145deg,
      #fff 20%,
      var(--nx-purple-soft)
    ) !important;
}

.kpis > .card:nth-child(2){
  background:
    linear-gradient(
      145deg,
      #fff 20%,
      var(--nx-blue-soft)
    ) !important;
}

.kpis > .card:nth-child(3){
  background:
    linear-gradient(
      145deg,
      #fff 20%,
      var(--nx-mint-soft)
    ) !important;
}

.kpis > .card:nth-child(4){
  background:
    linear-gradient(
      145deg,
      #fff 20%,
      var(--nx-coral-soft)
    ) !important;
}

.kpis > .card:nth-child(5){
  background:
    linear-gradient(
      145deg,
      #fff 20%,
      var(--nx-peach-soft)
    ) !important;
}

.kpis > .card:nth-child(6){
  background:
    linear-gradient(
      145deg,
      #fff 20%,
      var(--nx-blue-soft)
    ) !important;
}

.value{
  color:var(--nx-text) !important;
  font-weight:800 !important;
  letter-spacing:-.025em;
}

/* ---------- Metric blocks ---------- */

.metric{
  background:
    linear-gradient(
      145deg,
      #fff,
      #faf9fd
    ) !important;
}

/* ---------- Table ---------- */

table{
  color:var(--nx-text);
}

thead th{
  color:var(--nx-muted) !important;

  background:
    #f7f5fb !important;

  border-color:
    var(--nx-border) !important;
}

tbody td{
  border-color:
    var(--nx-border) !important;
}

tbody tr:hover{
  background:
    #fbfaff !important;
}

/* ---------- Visitor analysis ---------- */

.visitor{
  border-color:
    var(--nx-border) !important;
}

.visitor:hover{
  background:
    #f7f4ff !important;
}

.visitor.active{
  background:
    var(--nx-purple-soft) !important;

  box-shadow:
    inset 3px 0 0
    var(--nx-purple) !important;
}

.badge{
  color:#686b7d !important;

  background:
    #f2f1f7 !important;

  border-radius:999px !important;
}

.badge.cv{
  color:#338970 !important;

  background:
    var(--nx-mint-soft) !important;
}

.dot{
  color:
    var(--nx-purple-dark) !important;

  background:
    var(--nx-purple-soft) !important;
}

/* ---------- Dashboard chart ---------- */

.bar{
  background:
    linear-gradient(
      180deg,
      #9484e4,
      #7868d6
    ) !important;

  border-radius:
    6px 6px 2px 2px !important;
}

/* ---------- SEO trend ---------- */

.seo-trend-card:nth-child(1){
  background:
    linear-gradient(
      145deg,
      #fff,
      var(--nx-purple-soft)
    ) !important;
}

.seo-trend-card:nth-child(1)
.seo-mini-chart{
  color:var(--nx-purple) !important;
}

.seo-trend-card:nth-child(2){
  background:
    linear-gradient(
      145deg,
      #fff,
      var(--nx-blue-soft)
    ) !important;
}

.seo-trend-card:nth-child(2)
.seo-mini-chart{
  color:var(--nx-blue) !important;
}

.seo-trend-card:nth-child(3){
  background:
    linear-gradient(
      145deg,
      #fff,
      var(--nx-mint-soft)
    ) !important;
}

.seo-trend-card:nth-child(3)
.seo-mini-chart{
  color:var(--nx-mint) !important;
}

.seo-timeseries{
  background:#fff !important;

  border:
    1px solid var(--nx-border) !important;

  border-radius:
    var(--nx-radius-lg) !important;

  box-shadow:
    var(--nx-shadow) !important;
}

/* ---------- Links ---------- */

.link,
a.link{
  color:
    var(--nx-purple-dark) !important;
}

/* ---------- Error ---------- */

.error{
  color:#b55761 !important;

  background:
    var(--nx-red-soft) !important;

  border:
    1px solid #f3d8dc !important;

  border-radius:10px !important;
}

/* ---------- Scrollbar ---------- */

*{
  scrollbar-width:thin;
  scrollbar-color:#d8d3e9 transparent;
}

::-webkit-scrollbar{
  width:8px;
  height:8px;
}

::-webkit-scrollbar-thumb{
  background:#d8d3e9;
  border-radius:999px;
}

::-webkit-scrollbar-track{
  background:transparent;
}

/* ---------- Responsive ---------- */

@media(max-width:950px){
  .card,
  .panel,
  .metric,
  .seo-detail-section,
  .seo-trend-card{
    border-radius:14px !important;
  }
}

/* === NEXTRAIL DASHBOARD PASTEL V1 START === */

/* ---------- Dashboard canvas ---------- */

.dashboard-main{
  padding:30px 32px 42px !important;
}


/* ---------- Hero ---------- */

.dashboard-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;

  margin-bottom:30px;
}

.dashboard-hero-copy h1{
  margin:4px 0 7px;

  font-size:31px;
  line-height:1.2;

  color:var(--nx-text);

  letter-spacing:-.035em;
}

.dashboard-eyebrow,
.dashboard-section-kicker{
  color:var(--nx-purple);

  font-size:10px;
  font-weight:800;

  letter-spacing:.15em;
}

.dashboard-subtitle{
  max-width:620px;

  color:var(--nx-muted);

  font-size:13px;
  line-height:1.8;
}

.dashboard-hero-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
}

.dashboard-live-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;

  padding:7px 11px;

  color:#438f7b;

  background:
    rgba(233,248,243,.96);

  border:
    1px solid #d5eee7;

  border-radius:999px;

  font-size:11px;
  font-weight:700;
}

.dashboard-live-dot{
  width:7px;
  height:7px;

  flex:0 0 7px;

  background:var(--nx-mint);

  border-radius:50%;

  box-shadow:
    0 0 0 4px
    rgba(104,201,174,.13);
}


/* ---------- Controls ---------- */

.dashboard-controls{
  justify-content:flex-end;
}

.dashboard-controls select{
  min-height:38px;
}

.dashboard-controls button{
  min-height:38px;
  padding-inline:17px;
}


/* ---------- Section heading ---------- */

.dashboard-kpi-section{
  margin-bottom:18px;
}

.dashboard-section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;

  margin-bottom:12px;
}

.dashboard-section-heading h2,
.dashboard-card-head h2{
  margin:3px 0 0;

  color:var(--nx-text);

  font-size:17px;
  font-weight:750;

  letter-spacing:-.02em;
}

.dashboard-section-note{
  color:var(--nx-light);

  font-size:11px;
}


/* ---------- KPI ---------- */

.dashboard-main .kpis{
  display:grid;

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

  gap:13px !important;

  margin:0;
}

.dashboard-main .kpis > .card{
  min-height:120px;

  padding:18px 17px;

  border:0 !important;

  box-shadow:
    0 7px 22px
    rgba(72,62,108,.065) !important;
}

.dashboard-main .kpis > .card small{
  position:relative;
  z-index:2;

  display:block;

  padding-right:28px;

  color:#77788e !important;

  font-size:11px;
  font-weight:650;
}

.dashboard-main .kpis > .card .value{
  position:relative;
  z-index:2;

  margin-top:13px;

  font-size:29px;
  font-weight:800 !important;
}

.dashboard-main .kpis > .card::before{
  position:absolute;

  top:15px;
  right:15px;

  display:grid;
  place-items:center;

  width:31px;
  height:31px;

  border-radius:10px;

  font-size:15px;
  font-weight:800;

  opacity:.92;
}

.dashboard-main .kpis > .card:nth-child(1)::before{
  content:"●";

  color:var(--nx-purple);

  background:
    rgba(129,113,220,.12);
}

.dashboard-main .kpis > .card:nth-child(2)::before{
  content:"▦";

  color:var(--nx-blue);

  background:
    rgba(121,169,227,.13);
}

.dashboard-main .kpis > .card:nth-child(3)::before{
  content:"↗";

  color:var(--nx-mint);

  background:
    rgba(104,201,174,.14);
}

.dashboard-main .kpis > .card:nth-child(4)::before{
  content:"⌕";

  color:var(--nx-coral);

  background:
    rgba(238,150,163,.13);
}

.dashboard-main .kpis > .card:nth-child(5)::before{
  content:"✓";

  color:var(--nx-peach);

  background:
    rgba(239,169,105,.15);
}

.dashboard-main .kpis > .card:nth-child(6)::before{
  content:"%";

  color:var(--nx-purple);

  background:
    rgba(129,113,220,.12);
}


/* ---------- Lower layout ---------- */

.dashboard-content-grid{
  display:grid;

  grid-template-columns:
    minmax(0, 2fr)
    minmax(270px, .72fr);

  gap:16px;

  margin-top:16px;
}

.dashboard-chart-card,
.dashboard-status-card{
  padding:20px !important;
}

.dashboard-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;

  margin-bottom:15px;
}


/* ---------- Chart ---------- */

.dashboard-chart-card{
  overflow:hidden;

  background:
    linear-gradient(
      150deg,
      #fff 55%,
      rgba(239,236,255,.48)
    ) !important;
}

.dashboard-chart-legend{
  display:flex;
  align-items:center;
  gap:7px;

  color:var(--nx-muted);

  font-size:11px;
}

.dashboard-chart-legend span{
  width:9px;
  height:9px;

  background:
    linear-gradient(
      135deg,
      #9687e7,
      #7766d5
    );

  border-radius:3px;
}

.dashboard-main .chart{
  height:315px;

  gap:5px;

  padding:
    22px 3px 0;
}

.dashboard-main .bar{
  min-width:3px;

  background:
    linear-gradient(
      180deg,
      #aa9cec 0%,
      #8171dc 100%
    ) !important;

  box-shadow:
    0 -4px 11px
    rgba(129,113,220,.08);
}


/* ---------- Status ---------- */

.dashboard-status-card{
  background:
    linear-gradient(
      150deg,
      #fff 50%,
      var(--nx-mint-soft)
    ) !important;
}

.dashboard-status-icon{
  display:grid;
  place-items:center;

  width:36px;
  height:36px;

  color:#4a9a84;

  background:#e5f7f1;

  border-radius:12px;

  font-weight:900;
}

.dashboard-status-body{
  margin-top:18px;

  padding:16px;

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

  border:
    1px solid
    rgba(104,201,174,.17);

  border-radius:14px;
}

.dashboard-status-label{
  display:flex;
  align-items:center;
  gap:8px;

  margin-bottom:14px;

  color:#4c8d7d;

  font-size:11px;
  font-weight:750;
}

.dashboard-status-body p{
  margin:0;

  color:var(--nx-muted);

  font-size:12px;
  line-height:2;
}

.dashboard-status-body p b{
  color:var(--nx-text);
}


/* ---------- Error ---------- */

.dashboard-main .error{
  margin-bottom:18px;
}


/* ---------- Responsive ---------- */

@media(max-width:1150px){

  .dashboard-main .kpis{
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }
}

@media(max-width:900px){

  .dashboard-main{
    padding:
      22px 18px 35px !important;
  }

  .dashboard-hero{
    flex-direction:column;
  }

  .dashboard-hero-right{
    width:100%;
    align-items:flex-start;
  }

  .dashboard-controls{
    justify-content:flex-start;
  }

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

@media(max-width:650px){

  .dashboard-main .kpis{
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .dashboard-controls{
    width:100%;
  }

  .dashboard-controls select{
    flex:1 1 120px;
  }
}

/* === NEXTRAIL DASHBOARD PASTEL V1 END === */



/* === NEXTRAIL DASHBOARD INSIGHTS V1 START === */

.dashboard-insights{
  margin-top:28px;
}

.dashboard-insight-grid{
  display:grid;

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

  gap:16px;
}

.dashboard-insight-card{
  padding:20px !important;
  overflow:hidden;
}

.dashboard-insight-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:15px;

  margin-bottom:18px;
}

.dashboard-insight-head > div{
  display:flex;
  align-items:center;
  gap:10px;
}

.dashboard-insight-head h3{
  margin:0;

  font-size:15px;
  font-weight:750;
}

.dashboard-insight-head > span{
  color:var(--nx-light);

  font-size:10px;
}

.dashboard-insight-icon{
  display:grid;
  place-items:center;

  width:34px;
  height:34px;

  border-radius:11px;

  font-weight:800;
}

.source-card{
  background:
    linear-gradient(
      145deg,
      #fff 58%,
      var(--nx-purple-soft)
    ) !important;
}

.source-card
.dashboard-insight-icon{
  color:var(--nx-purple);

  background:
    rgba(129,113,220,.12);
}

.device-card{
  background:
    linear-gradient(
      145deg,
      #fff 58%,
      var(--nx-mint-soft)
    ) !important;
}

.device-card
.dashboard-insight-icon{
  color:#4fa98f;

  background:
    rgba(104,201,174,.15);
}

.pages-card{
  background:
    linear-gradient(
      145deg,
      #fff 58%,
      var(--nx-blue-soft)
    ) !important;
}

.pages-card
.dashboard-insight-icon{
  color:var(--nx-blue);

  background:
    rgba(121,169,227,.14);
}

.landing-card{
  background:
    linear-gradient(
      145deg,
      #fff 58%,
      var(--nx-coral-soft)
    ) !important;
}

.landing-card
.dashboard-insight-icon{
  color:var(--nx-coral);

  background:
    rgba(238,150,163,.14);
}

.dashboard-ranked-list{
  display:flex;
  flex-direction:column;
  gap:15px;
}

.dashboard-rank-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.dashboard-rank-name{
  display:flex;
  align-items:flex-start;
  gap:9px;

  min-width:0;
}

.dashboard-rank-number{
  display:grid;
  place-items:center;

  width:21px;
  height:21px;

  flex:0 0 21px;

  color:#77748c;

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

  border:
    1px solid var(--nx-border);

  border-radius:7px;

  font-size:10px;
  font-weight:800;
}

.dashboard-rank-name div{
  min-width:0;
}

.dashboard-rank-name strong{
  display:block;

  overflow:hidden;

  max-width:360px;

  color:var(--nx-text);

  font-size:12px;

  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-rank-name small{
  display:block;

  overflow:hidden;

  margin-top:2px;

  max-width:360px;

  color:var(--nx-light);

  font-size:9px;

  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-rank-top > b{
  color:var(--nx-text);

  font-size:12px;
}

.dashboard-rank-track{
  height:4px;

  margin-top:7px;

  overflow:hidden;

  background:
    rgba(116,111,141,.08);

  border-radius:999px;
}

.dashboard-rank-track span{
  display:block;

  height:100%;

  background:
    linear-gradient(
      90deg,
      #9789e7,
      #76a8e3
    );

  border-radius:999px;
}

.device-card
.dashboard-rank-track span{
  background:
    linear-gradient(
      90deg,
      #76cdb5,
      #8dd8c4
    );
}

.pages-card
.dashboard-rank-track span{
  background:
    linear-gradient(
      90deg,
      #79a9e3,
      #9bc4ed
    );
}

.landing-card
.dashboard-rank-track span{
  background:
    linear-gradient(
      90deg,
      #ee96a3,
      #f2b1b9
    );
}

.dashboard-alert-card{
  margin-top:16px;

  padding:20px !important;

  background:
    linear-gradient(
      145deg,
      #fff 65%,
      var(--nx-peach-soft)
    ) !important;
}

.dashboard-alert-card
.dashboard-insight-icon{
  color:#c98646;

  background:
    rgba(239,169,105,.15);
}

.dashboard-ok-state,
.dashboard-warning-summary{
  display:flex;
  align-items:center;
  gap:13px;
}

.dashboard-ok-state > span{
  display:grid;
  place-items:center;

  width:36px;
  height:36px;

  color:#4e9a84;

  background:
    var(--nx-mint-soft);

  border-radius:12px;

  font-weight:900;
}

.dashboard-warning-summary > span{
  display:grid;
  place-items:center;

  width:36px;
  height:36px;

  color:#bd7e43;

  background:
    var(--nx-peach-soft);

  border-radius:12px;

  font-weight:900;
}

.dashboard-ok-state strong,
.dashboard-warning-summary strong{
  display:block;

  color:var(--nx-text);

  font-size:12px;
}

.dashboard-ok-state small,
.dashboard-warning-summary small{
  display:block;

  margin-top:3px;

  color:var(--nx-muted);

  font-size:10px;
}

.dashboard-warning-pages{
  display:grid;

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

  gap:7px 15px;

  margin-top:15px;
  padding-top:13px;

  border-top:
    1px solid var(--nx-border);
}

.dashboard-warning-pages div{
  display:flex;
  justify-content:space-between;
  gap:10px;

  color:var(--nx-muted);

  font-size:10px;
}

.dashboard-warning-pages span{
  overflow:hidden;

  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-warning-pages b{
  flex:0 0 auto;

  color:#b5763d;
}

.dashboard-empty{
  padding:25px 10px;

  color:var(--nx-light);

  text-align:center;
  font-size:11px;
}

@media(max-width:900px){

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

@media(max-width:650px){

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

/* === NEXTRAIL DASHBOARD INSIGHTS V1 END === */


/* === NEXTRAIL KPI COMPARISON V1 START === */

.dashboard-main .kpis > .card{
  position:relative;
}

.dashboard-kpi-compare{
  display:flex;
  align-items:center;
  gap:5px;

  margin-top:10px;

  font-size:10px;
  line-height:1;
}

.dashboard-kpi-compare > span{
  display:grid;
  place-items:center;

  width:18px;
  height:18px;

  border-radius:7px;

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

.dashboard-kpi-compare > strong{
  font-size:10px;
  font-weight:800;
}

.dashboard-kpi-compare > small{
  margin-left:1px;

  padding:0 !important;

  color:var(--nx-light) !important;

  font-size:9px !important;
  font-weight:600 !important;
}

.dashboard-kpi-compare.up{
  color:#418e79;
}

.dashboard-kpi-compare.up > span{
  background:
    rgba(104,201,174,.15);

  color:#418e79;
}

.dashboard-kpi-compare.down{
  color:#ca7180;
}

.dashboard-kpi-compare.down > span{
  background:
    rgba(238,150,163,.15);

  color:#ca7180;
}

.dashboard-kpi-compare.neutral{
  color:#858398;
}

.dashboard-kpi-compare.neutral > span{
  background:
    rgba(116,111,141,.08);

  color:#858398;
}

/* === NEXTRAIL KPI COMPARISON V1 END === */


/* === NEXTRAIL DASHBOARD PAGE LINKS V1 START === */

.dashboard-rank-link{
  display:block;

  color:inherit;

  text-decoration:none;

  padding:8px 9px;

  margin:
    -8px -9px;

  border-radius:11px;

  transition:
    background .15s ease,
    transform .15s ease;
}

.dashboard-rank-link:hover{
  background:
    rgba(255,255,255,.72);

  transform:
    translateX(2px);
}

.dashboard-rank-value{
  display:flex;
  align-items:center;
  gap:8px;

  flex:0 0 auto;
}

.dashboard-rank-value b{
  color:var(--nx-text);

  font-size:12px;
}

.dashboard-rank-arrow{
  display:grid;
  place-items:center;

  width:22px;
  height:22px;

  color:var(--nx-blue);

  background:
    var(--nx-blue-soft);

  border-radius:8px;

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

.dashboard-rank-link:hover
.dashboard-rank-arrow{
  transform:
    translateX(2px);
}

/* === NEXTRAIL DASHBOARD PAGE LINKS V1 END === */


/* === NEXTRAIL DASHBOARD MINI CHART V1 START === */

.dashboard-mini-chart{
  display:flex;
  align-items:center;
  gap:22px;

  margin-bottom:20px;
  padding:15px;

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

  border:
    1px solid var(--nx-border);

  border-radius:16px;
}

.dashboard-mini-ring{
  position:relative;

  width:108px;
  height:108px;

  flex:0 0 108px;

  border-radius:50%;


  box-shadow:
    0 8px 20px
    rgba(84,75,126,.08);
}

.dashboard-mini-ring::after{
  content:"";

  position:absolute;
  inset:15px;

  background:#fff;

  border-radius:50%;
}

.dashboard-mini-center{
  position:absolute;
  inset:0;

  z-index:2;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.dashboard-mini-center strong{
  color:var(--nx-text);

  font-size:19px;
  font-weight:800;
}

.dashboard-mini-center small{
  margin-top:2px;

  color:var(--nx-light);

  font-size:8px;
}

.dashboard-mini-legend{
  display:flex;
  flex-direction:column;
  gap:8px;

  min-width:0;
  flex:1;
}

.dashboard-mini-legend div{
  display:grid;

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

  align-items:center;
  gap:7px;
}

.dashboard-mini-legend .dot{
  width:8px;
  height:8px;

  border-radius:50%;
}

.dashboard-mini-legend .dot.s1{
  background:#8f81e5;
}

.dashboard-mini-legend .dot.s2{
  background:#78a8e3;
}

.dashboard-mini-legend .dot.s3{
  background:#75cbb4;
}

.dashboard-mini-legend .dot.s4{
  background:#ee9aa7;
}

.dashboard-mini-legend small{
  overflow:hidden;

  color:var(--nx-muted);

  font-size:9px;

  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-mini-legend b{
  color:var(--nx-text);

  font-size:9px;
}

.dashboard-mini-empty{
  width:100%;

  padding:24px 10px;

  color:var(--nx-light);

  text-align:center;
  font-size:10px;
}

@media(max-width:1150px){

  .dashboard-mini-chart{
    align-items:flex-start;
  }

  .dashboard-mini-ring{
    width:94px;
    height:94px;

    flex-basis:94px;
  }
}

@media(max-width:650px){

  .dashboard-mini-chart{
    flex-direction:column;
  }
}

/* === NEXTRAIL DASHBOARD MINI CHART V1 END === */


/* === NEXTRAIL MINI CHART V3 START === */

.dashboard-mini-center-label{
  color:var(--nx-muted) !important;

  font-size:11px !important;
  font-weight:750 !important;

  letter-spacing:.04em;
}

/* === NEXTRAIL MINI CHART V3 END === */


/* === NEXTRAIL MINI CHART V4 START === */

.dashboard-mini-ring{
  width:126px !important;
  height:126px !important;

  flex:
    0 0 126px !important;
}

.dashboard-mini-ring::after{
  inset:29px !important;
}

.dashboard-mini-center{
  z-index:4;
}

.dashboard-mini-pie-label{
  position:absolute;

  z-index:3;

  top:50%;
  left:50%;

  width:34px;

  margin-left:-17px;
  margin-top:-7px;

  color:#fff;

  font-size:9px;
  font-weight:800;

  line-height:14px;
  text-align:center;

  text-shadow:
    0 1px 3px
    rgba(52,45,82,.28);

  pointer-events:none;

  transform:
    rotate(var(--angle))
    translateY(-49px)
    rotate(calc(-1 * var(--angle)));
}

.dashboard-mini-center-label{
  display:flex;

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

  width:52px;
  height:52px;

  color:#747187 !important;

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

  border-radius:50%;

  font-size:10px !important;

  box-shadow:
    0 2px 8px
    rgba(71,64,105,.06);
}

@media(max-width:1150px){

  .dashboard-mini-ring{
    width:116px !important;
    height:116px !important;

    flex-basis:116px !important;
  }

  .dashboard-mini-pie-label{
    transform:
      rotate(var(--angle))
      translateY(-44px)
      rotate(calc(-1 * var(--angle)));
  }
}

/* === NEXTRAIL MINI CHART V4 END === */


/* === NEXTRAIL MINI CHART V5 START === */

.dashboard-mini-ring-v5{
  position:relative;

  width:140px !important;
  height:140px !important;

  flex:
    0 0 140px !important;

  border-radius:50%;

  overflow:visible;
}

/*
 * Older theme versions created the
 * donut hole with ::after.
 * V5 creates its own hole so disable it.
 */
.dashboard-mini-ring-v5::after{
  display:none !important;
  content:none !important;
}

.dashboard-mini-hole{
  position:absolute;

  top:50%;
  left:50%;

  z-index:4;

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

  width:58px;
  height:58px;

  transform:
    translate(-50%,-50%);

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

  border-radius:50%;

  box-shadow:
    0 2px 10px
    rgba(71,64,105,.08);
}

.dashboard-mini-hole span{
  color:#747187;

  font-size:10px;
  font-weight:750;

  letter-spacing:.04em;
}

.dashboard-mini-pie-label-v5{
  position:absolute;

  z-index:5;

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

  min-width:31px;

  padding:2px 4px;

  transform:
    translate(-50%,-50%);

  color:#fff;

  font-size:9px;
  font-weight:850;

  line-height:1;

  text-align:center;

  text-shadow:
    0 1px 3px
    rgba(46,40,74,.48);

  pointer-events:none;
}

@media(max-width:1150px){

  .dashboard-mini-ring-v5{
    width:130px !important;
    height:130px !important;

    flex-basis:
      130px !important;
  }
}

/* === NEXTRAIL MINI CHART V5 END === */


/* === NEXTRAIL MINI CHART V6 START === */

.dashboard-mini-ring-v6{
  position:relative;

  width:140px !important;
  height:140px !important;

  flex:
    0 0 140px !important;

  border-radius:50%;

  overflow:visible;
}

.dashboard-mini-ring-v6::after{
  display:none !important;
  content:none !important;
}

.dashboard-mini-hole-v6{
  position:absolute;

  top:50%;
  left:50%;

  z-index:4;

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

  width:58px;
  height:58px;

  transform:
    translate(-50%, -50%);

  background:#fff;

  border-radius:50%;

  box-shadow:
    0 2px 10px
    rgba(71,64,105,.08);
}

.dashboard-mini-hole-v6 span{
  color:#747187;

  font-size:10px;
  font-weight:750;
}

.dashboard-mini-pie-label-v6{
  position:absolute;

  z-index:5;

  min-width:28px;

  padding:2px 3px;

  transform:
    translate(-50%, -50%);

  color:#fff;

  font-size:9px;
  font-weight:850;

  text-align:center;

  text-shadow:
    0 1px 3px
    rgba(46,40,74,.5);

  pointer-events:none;
}

/* === NEXTRAIL MINI CHART V6 END === */


/* === NEXTRAIL REALTIME V1 START === */

.dashboard-realtime-card{
  margin-bottom:26px;

  padding:20px 22px;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.98),
      rgba(239,247,255,.80) 55%,
      rgba(239,251,247,.84)
    );

  border:
    1px solid var(--nx-border);

  border-radius:20px;

  box-shadow:
    0 8px 28px
    rgba(72,62,108,.055);
}

.dashboard-realtime-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;

  margin-bottom:18px;
}

.dashboard-realtime-head h2{
  margin:3px 0 0;

  color:var(--nx-text);

  font-size:17px;
}

.dashboard-realtime-live{
  display:flex;
  align-items:center;
  gap:7px;

  color:#4b917f;

  font-size:10px;
  font-weight:750;
}

.dashboard-realtime-grid{
  display:grid;

  grid-template-columns:
    minmax(300px,.8fr)
    minmax(0,1.7fr);

  gap:22px;
}

.dashboard-realtime-counts{
  padding-right:22px;

  border-right:
    1px solid var(--nx-border);
}

.dashboard-realtime-primary{
  display:flex;
  align-items:center;
  gap:14px;

  margin-bottom:16px;
}

.dashboard-live-pulse{
  width:17px;
  height:17px;

  flex:0 0 17px;

  background:#6bc9ae;

  border:
    5px solid #e6f7f2;

  border-radius:50%;

  box-shadow:
    0 0 0 5px
    rgba(107,201,174,.10);
}

.dashboard-realtime-primary small,
.dashboard-realtime-stat small{
  display:block;

  color:var(--nx-muted);

  font-size:10px;
}

.dashboard-realtime-primary strong{
  display:block;

  margin-top:3px;

  color:var(--nx-text);

  font-size:29px;
  font-weight:850;
}

.dashboard-realtime-stat{
  display:grid;

  grid-template-columns:
    repeat(2,1fr);

  gap:10px;
}

.dashboard-realtime-stat > div{
  padding:11px 13px;

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

  border:
    1px solid var(--nx-border);

  border-radius:12px;
}

.dashboard-realtime-stat strong{
  display:block;

  margin-top:3px;

  color:var(--nx-text);

  font-size:18px;
}

.dashboard-realtime-note{
  margin-top:12px;

  color:var(--nx-light);

  font-size:9px;
  line-height:1.6;
}

.dashboard-realtime-pages-head{
  margin-bottom:10px;

  color:var(--nx-muted);

  font-size:10px;
  font-weight:750;
}

.dashboard-realtime-page-list{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.dashboard-realtime-page{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;

  padding:8px 10px;

  border-radius:10px;
}

.dashboard-realtime-page:nth-child(odd){
  background:
    rgba(255,255,255,.52);
}

.dashboard-realtime-page-name{
  display:flex;
  align-items:center;
  gap:9px;

  min-width:0;
}

.dashboard-realtime-page-name > span{
  width:7px;
  height:7px;

  flex:0 0 7px;

  background:#8f81e5;

  border-radius:50%;
}

.dashboard-realtime-page-name strong{
  overflow:hidden;

  color:var(--nx-text);

  font-size:11px;
  font-weight:650;

  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-realtime-page > small{
  flex:0 0 auto;

  color:var(--nx-light);

  font-size:9px;
}

.dashboard-realtime-empty{
  padding:25px 12px;

  color:var(--nx-light);

  font-size:10px;
  text-align:center;
}

@media(max-width:900px){

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

  .dashboard-realtime-counts{
    padding-right:0;
    padding-bottom:18px;

    border-right:0;

    border-bottom:
      1px solid var(--nx-border);
  }
}

/* === NEXTRAIL REALTIME V1 END === */


/* === NEXTRAIL REALTIME PAGE LINKS V1 START === */

.dashboard-realtime-page-link{
  color:inherit;

  text-decoration:none;

  cursor:pointer;

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

.dashboard-realtime-page-link:hover{
  background:
    rgba(255,255,255,.88);

  transform:
    translateX(2px);

  box-shadow:
    0 4px 14px
    rgba(72,62,108,.05);
}

.dashboard-realtime-page-right{
  display:flex;
  align-items:center;
  gap:9px;

  flex:0 0 auto;
}

.dashboard-realtime-arrow{
  display:grid;
  place-items:center;

  width:22px;
  height:22px;

  color:var(--nx-purple);

  background:
    var(--nx-purple-soft);

  border-radius:8px;

  font-size:11px;
  font-weight:900;

  transition:
    transform .15s ease;
}

.dashboard-realtime-page-link:hover
.dashboard-realtime-arrow{
  transform:
    translateX(2px);
}

/* === NEXTRAIL REALTIME PAGE LINKS V1 END === */


/* === NEXTRAIL LIVE PAGE BUTTON V1 START === */

.live-page-cell{
  white-space:nowrap;
}

.live-page-button{
  display:inline-flex;
  align-items:center;
  gap:5px;

  padding:6px 9px;

  color:var(--nx-purple);

  background:
    var(--nx-purple-soft);

  border:
    1px solid
    rgba(129,113,220,.14);

  border-radius:9px;

  font-size:9px;
  font-weight:750;

  text-decoration:none;

  transition:
    background .15s ease,
    transform .15s ease;
}

.live-page-button:hover{
  background:
    rgba(129,113,220,.16);

  transform:
    translateY(-1px);
}

.live-page-button span{
  font-size:10px;
  font-weight:900;
}

/* === NEXTRAIL LIVE PAGE BUTTON V1 END === */

















/* === NEXTRAIL 404 CLEAN V1 START === */

.dashboard-warning-pages{
  display:flex !important;
  flex-direction:column !important;
  gap:16px !important;

  width:100% !important;

  margin-top:16px !important;
  padding-top:14px !important;

  border-top:
    1px solid var(--nx-border);
}


/* 1件の404 */

.dashboard-404-card{
  display:block;

  width:100%;

  padding:18px 20px;

  background:#fff;

  border:
    1px solid
    rgba(129,113,220,.13);

  border-radius:18px;

  box-shadow:
    0 7px 22px
    rgba(72,62,108,.05);
}


/* URL + PV */

.dashboard-404-header{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;

  gap:18px !important;

  width:100% !important;
}

.dashboard-404-url{
  min-width:0;
  flex:1;

  color:var(--nx-text);

  font-size:13px;
  font-weight:750;
  line-height:1.65;

  white-space:normal;
  word-break:break-all;
  overflow-wrap:anywhere;
}

.dashboard-404-pv{
  flex:0 0 auto;

  padding:5px 10px;

  color:#7565cb;

  background:
    rgba(129,113,220,.11);

  border-radius:999px;

  font-size:11px;
  font-weight:800;
}


/* 推奨対応 */

.dashboard-404-recommendation{
  display:grid !important;

  grid-template-columns:
    auto minmax(0,1fr) !important;

  align-items:start !important;

  gap:12px !important;

  width:100% !important;

  margin-top:13px !important;
  padding:13px 14px !important;

  background:
    rgba(247,245,255,.72);

  border:
    1px solid
    rgba(129,113,220,.10);

  border-radius:13px;
}

.dashboard-404-recommendation-copy{
  min-width:0;
}

.dashboard-404-recommendation-copy strong{
  display:block;

  color:var(--nx-text);

  font-size:12px;
  line-height:1.6;
}

.dashboard-404-recommendation-copy small{
  display:block;

  margin-top:4px;

  color:var(--nx-muted);

  font-size:11px;
  line-height:1.7;
}


/* 判定ラベル */

.dashboard-404-badge{
  display:inline-flex;

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

  min-width:64px;

  padding:5px 8px;

  border-radius:999px;

  font-size:9px;
  font-weight:850;
}

.dashboard-404-badge.redirect{
  color:#7565cb;
  background:rgba(129,113,220,.13);
}

.dashboard-404-badge.link{
  color:#b5763d;
  background:rgba(239,169,105,.16);
}

.dashboard-404-badge.ignore{
  color:#77788e;
  background:rgba(116,111,141,.09);
}

.dashboard-404-badge.review{
  color:#c26473;
  background:rgba(238,150,163,.15);
}


/* リダイレクト候補 */

.dashboard-404-candidates{
  display:block !important;

  width:100% !important;

  margin-top:16px !important;
  padding-top:14px !important;

  border-top:
    1px dashed
    rgba(129,113,220,.18);
}

.dashboard-404-candidates-title{
  margin-bottom:9px;

  color:var(--nx-text);

  font-size:11px;
  font-weight:800;
}

.dashboard-404-candidate{
  display:grid !important;

  grid-template-columns:
    minmax(0,1fr) auto !important;

  align-items:center !important;

  gap:14px !important;

  width:100% !important;

  padding:10px 12px !important;

  background:
    rgba(248,249,255,.92);

  border:
    1px solid
    rgba(129,113,220,.09);

  border-radius:11px;
}

.dashboard-404-candidate
+ .dashboard-404-candidate{
  margin-top:7px;
}

.dashboard-404-candidate-info{
  display:grid !important;

  grid-template-columns:
    auto minmax(0,1fr) !important;

  align-items:start !important;

  gap:10px !important;

  min-width:0 !important;
}

.dashboard-404-candidate-copy{
  min-width:0;
}

.dashboard-404-candidate-copy strong{
  display:block;

  color:var(--nx-text);

  font-size:11px;
  font-weight:700;
  line-height:1.55;

  white-space:normal;
}

.dashboard-404-candidate-copy small{
  display:block;

  margin-top:3px;

  color:var(--nx-light);

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

  white-space:normal;
  word-break:break-all;
}


/* 候補の高・中・低 */

.dashboard-404-confidence{
  display:inline-flex;

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

  min-width:30px;
  height:23px;

  padding:0 8px;

  border-radius:999px;

  font-size:9px;
  font-weight:850;
}

.dashboard-404-confidence.high{
  color:#4a927e;
  background:rgba(104,201,174,.16);
}

.dashboard-404-confidence.medium{
  color:#7565cb;
  background:rgba(129,113,220,.13);
}

.dashboard-404-confidence.low{
  color:#aa7a4d;
  background:rgba(239,169,105,.15);
}


/* 候補確認 */

.dashboard-404-candidate-button{
  display:inline-flex;

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

  min-width:65px;

  padding:7px 10px;

  color:#7565cb;

  background:
    rgba(129,113,220,.11);

  border-radius:9px;

  font-size:10px;
  font-weight:800;

  text-decoration:none;
  white-space:nowrap;
}

.dashboard-404-candidate-button:hover{
  background:
    rgba(129,113,220,.18);
}


/* 候補なし */

.dashboard-404-no-candidate{
  padding:10px 12px;

  color:var(--nx-light);

  background:
    rgba(248,249,255,.9);

  border-radius:10px;

  font-size:10px;
  line-height:1.7;
}


/* 最下部ボタン */

.dashboard-404-actions{
  display:flex !important;
  justify-content:flex-end !important;

  width:100% !important;

  margin-top:14px !important;
}

.dashboard-404-analysis-button{
  display:inline-flex;

  align-items:center;
  gap:7px;

  padding:8px 12px;

  color:#7565cb;

  background:
    rgba(129,113,220,.10);

  border:
    1px solid
    rgba(129,113,220,.12);

  border-radius:10px;

  font-size:10px;
  font-weight:800;

  text-decoration:none;
}

.dashboard-404-analysis-button:hover{
  background:
    rgba(129,113,220,.18);
}


@media(max-width:700px){

  .dashboard-404-card{
    padding:15px;
  }

  .dashboard-404-candidate{
    grid-template-columns:1fr !important;
  }

  .dashboard-404-candidate-button{
    justify-self:start;
  }

}

/* === NEXTRAIL 404 CLEAN V1 END === */


/* === NEXTRAIL 404 COMPACT V1 START === */

.dashboard-404-card{
  padding:16px 18px !important;
}

.dashboard-404-header{
  align-items:center !important;
  margin-bottom:10px !important;
}

.dashboard-404-url{
  font-size:12px !important;
  line-height:1.5 !important;
  font-weight:760 !important;
}

.dashboard-404-pv{
  padding:4px 9px !important;
  font-size:10px !important;
}

.dashboard-404-recommendation{
  grid-template-columns:auto minmax(0,1fr) !important;
  gap:10px !important;

  margin-top:0 !important;
  padding:10px 12px !important;
}

.dashboard-404-recommendation-copy strong{
  font-size:11px !important;
  line-height:1.5 !important;
}

.dashboard-404-recommendation-copy small{
  margin-top:2px !important;
  font-size:10px !important;
  line-height:1.55 !important;
}

.dashboard-404-badge{
  min-width:58px !important;
  padding:4px 7px !important;
  font-size:8px !important;
}

.dashboard-404-candidates{
  margin-top:12px !important;
  padding-top:11px !important;
}

.dashboard-404-candidates-title{
  margin-bottom:7px !important;
  font-size:10px !important;
}

.dashboard-404-candidate{
  min-height:42px !important;

  padding:8px 10px !important;

  grid-template-columns:
    minmax(0,1fr) auto !important;

  gap:10px !important;
}

.dashboard-404-candidate
+ .dashboard-404-candidate{
  margin-top:5px !important;
}

.dashboard-404-candidate-info{
  grid-template-columns:
    auto minmax(0,1fr) !important;

  gap:8px !important;
}

.dashboard-404-confidence{
  min-width:27px !important;
  height:20px !important;

  padding:0 6px !important;

  font-size:8px !important;
}

.dashboard-404-candidate-copy strong{
  overflow:hidden !important;

  max-width:720px !important;

  font-size:10px !important;
  line-height:1.35 !important;

  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

.dashboard-404-candidate-copy small{
  overflow:hidden !important;

  max-width:720px !important;

  margin-top:1px !important;

  font-size:9px !important;
  line-height:1.3 !important;

  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

.dashboard-404-candidate-button{
  min-width:60px !important;

  padding:6px 9px !important;

  font-size:9px !important;
}

.dashboard-404-actions{
  margin-top:10px !important;
}

.dashboard-404-analysis-button{
  padding:7px 10px !important;

  font-size:9px !important;
}

.dashboard-404-no-candidate{
  padding:8px 10px !important;

  font-size:9px !important;
  line-height:1.55 !important;
}

/*
 * Desktopではカード幅を少し抑えて、
 * 超ワイド画面で横に伸びすぎるのを防ぐ。
 */
.dashboard-warning-state{
  width:100% !important;
}

.dashboard-warning-pages{
  width:100% !important;
}

.dashboard-404-card{
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media(max-width:900px){

  .dashboard-404-card{
    max-width:none !important;
  }

  .dashboard-404-candidate-copy strong,
  .dashboard-404-candidate-copy small{
    max-width:none !important;
  }
}

/* === NEXTRAIL 404 COMPACT V1 END === */


/* === NEXTRAIL 404 TWO COLUMN V1 START === */

.dashboard-404-layout{
  display:grid;

  grid-template-columns:
    minmax(0, 1.7fr)
    minmax(280px, .72fr);

  gap:18px;

  align-items:start;
}

.dashboard-404-left{
  min-width:0;
}

.dashboard-404-summary-card{
  position:sticky;
  top:20px;

  padding:18px;

  background:
    linear-gradient(
      145deg,
      #fff 60%,
      rgba(239,236,255,.65)
    );

  border:
    1px solid
    rgba(129,113,220,.18);

  border-radius:18px;

  box-shadow:
    0 10px 26px
    rgba(72,62,108,.07);
}

.dashboard-404-summary-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;

  gap:10px;

  margin-bottom:16px;
}

.dashboard-404-summary-head h3{
  margin:3px 0 0;

  color:var(--nx-text);

  font-size:15px;
}

.dashboard-404-summary-icon{
  display:grid;
  place-items:center;

  width:34px;
  height:34px;

  color:#7565cb;

  background:
    rgba(129,113,220,.12);

  border-radius:11px;

  font-weight:900;
}

.dashboard-404-summary-total{
  display:flex;
  align-items:flex-end;
  gap:5px;

  padding:14px;

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

  border:
    1px solid
    rgba(129,113,220,.10);

  border-radius:13px;
}

.dashboard-404-summary-total small{
  margin-right:auto;

  color:var(--nx-muted);

  font-size:10px;
}

.dashboard-404-summary-total strong{
  color:var(--nx-text);

  font-size:28px;
  line-height:1;
}

.dashboard-404-summary-total span{
  color:var(--nx-muted);

  font-size:10px;
}

.dashboard-404-summary-list{
  display:flex;
  flex-direction:column;
  gap:8px;

  margin-top:12px;
}

.dashboard-404-summary-list > div{
  display:grid;

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

  align-items:center;
  gap:8px;

  padding:9px 10px;

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

  border-radius:10px;
}

.dashboard-404-summary-list span{
  color:var(--nx-muted);

  font-size:10px;
}

.dashboard-404-summary-list b{
  color:var(--nx-text);

  font-size:11px;
}

.summary-dot{
  width:8px;
  height:8px;

  border-radius:50%;
}

.summary-dot.redirect{
  background:#8f81e5;
}

.summary-dot.link{
  background:#e9a15d;
}

.summary-dot.review{
  background:#e98f9d;
}

.summary-dot.ignore{
  background:#9a98aa;
}

.dashboard-404-summary-note{
  margin-top:13px;

  padding:10px 11px;

  color:var(--nx-muted);

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

  border-radius:10px;

  font-size:9px;
  line-height:1.7;
}


/* 404各カードを明確に区切る */

.dashboard-404-card{
  max-width:none !important;

  margin:0 !important;

  padding:18px 20px !important;

  background:#fff !important;

  border:
    1px solid
    rgba(105,94,166,.22) !important;

  border-left:
    4px solid
    rgba(129,113,220,.58) !important;

  border-radius:16px !important;

  box-shadow:
    0 8px 20px
    rgba(68,60,105,.07) !important;
}

.dashboard-404-card
+ .dashboard-404-card{
  margin-top:12px !important;
}

.dashboard-404-card:hover{
  border-color:
    rgba(105,94,166,.32) !important;

  box-shadow:
    0 11px 26px
    rgba(68,60,105,.10) !important;
}

.dashboard-404-recommendation{
  background:
    rgba(245,243,255,.88) !important;

  border:
    1px solid
    rgba(129,113,220,.16) !important;
}

.dashboard-404-candidate{
  background:#fafaff !important;

  border:
    1px solid
    rgba(129,113,220,.14) !important;
}

.dashboard-404-candidate:hover{
  background:#fff !important;

  border-color:
    rgba(129,113,220,.24) !important;
}

@media(max-width:1050px){

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

  .dashboard-404-summary-card{
    position:static;
  }
}

/* === NEXTRAIL 404 TWO COLUMN V1 END === */


/* === NEXTRAIL 404 BALANCE V1 START === */

/*
 * 上部の人気ページ / ランディングページと
 * 同じ2カラム比率に揃える
 */
.dashboard-404-layout{
  grid-template-columns:
    repeat(2, minmax(0, 1fr)) !important;

  gap:16px !important;
}

/*
 * 左右とも標準カード幅いっぱいを使用
 */
.dashboard-404-left,
.dashboard-404-summary-card{
  width:100% !important;
  min-width:0 !important;
}

/*
 * 右サマリーを縦に長く使う
 */
.dashboard-404-summary-card{
  position:sticky;

  top:20px;

  padding:20px !important;

  border:
    1px solid
    rgba(129,113,220,.18) !important;

  box-shadow:
    0 8px 22px
    rgba(72,62,108,.065) !important;
}


/* 優先対応 */

.dashboard-404-priority{
  margin-top:15px;
  padding-top:14px;

  border-top:
    1px solid var(--nx-border);
}

.dashboard-404-priority-title{
  margin-bottom:9px;

  color:var(--nx-text);

  font-size:11px;
  font-weight:800;
}

.dashboard-404-priority-row{
  display:grid;

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

  align-items:center;

  gap:9px;

  padding:9px 10px;

  color:inherit;

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

  border:
    1px solid
    rgba(129,113,220,.09);

  border-radius:10px;

  text-decoration:none;
}

.dashboard-404-priority-row
+ .dashboard-404-priority-row{
  margin-top:6px;
}

.dashboard-404-priority-row:hover{
  background:#fff;

  border-color:
    rgba(129,113,220,.20);
}

.dashboard-404-priority-rank{
  display:grid;

  place-items:center;

  width:24px;
  height:24px;

  color:#7565cb;

  background:
    rgba(129,113,220,.11);

  border-radius:8px;

  font-size:9px;
  font-weight:850;
}

.dashboard-404-priority-row > div{
  min-width:0;
}

.dashboard-404-priority-row strong{
  display:block;

  overflow:hidden;

  color:var(--nx-text);

  font-size:10px;

  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-404-priority-row small{
  display:block;

  margin-top:2px;

  color:var(--nx-muted);

  font-size:9px;
}

.dashboard-404-priority-arrow{
  color:#7565cb;

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

.dashboard-404-priority-empty{
  padding:15px;

  color:var(--nx-light);

  text-align:center;
  font-size:10px;
}


/* 今すぐ確認 */

.dashboard-404-immediate{
  margin-top:14px;

  padding:13px;

  background:
    linear-gradient(
      135deg,
      rgba(255,247,246,.88),
      rgba(250,246,255,.88)
    );

  border:
    1px solid
    rgba(238,150,163,.13);

  border-radius:12px;
}

.dashboard-404-immediate > div{
  display:flex;
  align-items:flex-end;
  gap:5px;
}

.dashboard-404-immediate small{
  margin-right:auto;

  color:var(--nx-muted);

  font-size:10px;
}

.dashboard-404-immediate strong{
  color:#c26473;

  font-size:24px;
  line-height:1;
}

.dashboard-404-immediate span{
  color:var(--nx-muted);

  font-size:10px;
}

.dashboard-404-immediate p{
  margin:7px 0 0;

  color:var(--nx-muted);

  font-size:9px;
  line-height:1.6;
}


/*
 * 各404カードの輪郭をもう一段明確に
 */
.dashboard-404-card{
  border:
    1px solid
    rgba(102,91,165,.26) !important;

  border-left:
    4px solid #8f81e5 !important;

  background:
    linear-gradient(
      145deg,
      #fff,
      #fcfbff
    ) !important;
}

.dashboard-404-candidate{
  border:
    1px solid
    rgba(129,113,220,.17) !important;

  background:
    rgba(248,247,255,.94) !important;
}

.dashboard-404-candidate
+ .dashboard-404-candidate{
  margin-top:6px !important;
}

@media(max-width:1050px){

  .dashboard-404-layout{
    grid-template-columns:1fr !important;
  }

  .dashboard-404-summary-card{
    position:static;
  }

}

/* === NEXTRAIL 404 BALANCE V1 END === */

