
:root{
  --bg:#eef2f5;
  --surface:#ffffff;
  --surface-2:#f7f9fb;
  --border:#dbe4ea;
  --text:#324655;
  --muted:#7b8d9b;
  --blue:#16a4f3;
  --teal:#4fc7c2;
  --mint:#91d98f;
  --lime:#d5ef8f;
  --yellow:#f4e88c;
  --orange:#f2c287;
  --pink:#ff5b96;
  --shadow:0 1px 2px rgba(33,52,64,.08), 0 8px 24px rgba(33,52,64,.04);
  --radius:14px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
}
a{color:inherit;text-decoration:none}
.app-shell{display:flex; min-height:100vh;}
.sidebar{
  width:92px; background:#f3f6f8; border-right:1px solid var(--border);
  display:flex; flex-direction:column; align-items:center; padding:18px 0; gap:10px;
  position:sticky; top:0; height:100vh;
}
.brand{
  width:56px;height:56px;border-radius:16px;background:white;border:1px solid var(--border);
  display:grid;place-items:center;box-shadow:var(--shadow);color:var(--blue);font-size:24px;font-weight:700;
}
.brand-logo{
  display:block;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.sidebar .brand{
  padding:8px;
}
.nav-rail, .nav-rail-bottom{display:flex;flex-direction:column; gap:10px; width:100%; align-items:center}
.nav-rail-bottom{margin-top:auto}
.rail-btn{
  width:56px;height:56px;border-radius:14px;border:1px solid transparent;
  display:grid;place-items:center;color:#5d7485;background:transparent;font-size:20px; position:relative;
}
.rail-btn.active{background:white;border-color:var(--border);color:var(--blue);box-shadow:var(--shadow)}
.rail-btn.active::before{content:''; position:absolute; left:-18px; top:10px; bottom:10px; width:3px; border-radius:3px; background:var(--blue)}
.main{flex:1; min-width:0}
.topbar{
  display:flex; align-items:flex-start; justify-content:space-between; gap:20px;
  padding:28px 32px 16px; border-bottom:1px solid var(--border); background:rgba(255,255,255,.48); backdrop-filter:blur(6px);
}
.title-wrap h1{margin:0; font-size:24px; font-weight:750; letter-spacing:-.02em}
.title-wrap h1 span{font-weight:500; color:#475d6b}
.breadcrumbs{margin-top:6px; color:var(--muted); font-size:14px}
.toolbar{display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:flex-end}
.toolbar .ghost-btn,.toolbar .primary-btn{white-space:nowrap}
.toolbar-switcher{display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap}
.toolbar-switcher-label{font-size:12px; font-weight:700; color:var(--muted)}
.toolbar-switcher select{
  height:38px;
  border:1px solid var(--border);
  background:#fff;
  color:#48606f;
  border-radius:999px;
  padding:0 14px;
  font-weight:600;
  font-size:14px;
  min-width:180px;
}
.system-banner-stack{display:flex; flex-direction:column; gap:8px; padding:12px 18px 0}
.system-banner{border-radius:14px; padding:12px 16px; font-size:14px; line-height:1.5; border:1px solid var(--border); background:#eef6fb; color:#16354a}
.system-banner a{color:inherit; font-weight:700; margin-left:8px}
.system-banner-warning{background:#fff3d6; border-color:#f2d391; color:#614400}
.system-banner-info{background:#eef6fb; border-color:#b8d5e8; color:#16354a}
.system-banner-preview{border:1px solid var(--border); border-radius:16px; padding:16px 18px; background:#f8fbfd}
.chip,.ghost-btn,.primary-btn,.icon-btn,.pill-input{
  border:1px solid var(--border); background:#fff; color:#48606f; border-radius:999px; height:38px;
  display:inline-flex; align-items:center; gap:8px; padding:0 14px; font-weight:600; font-size:14px;
}
.primary-btn{background:var(--blue); color:#fff; border-color:transparent}
.icon-btn{width:38px; padding:0; justify-content:center}
.tabs{display:flex; gap:32px; padding:0 32px; border-bottom:1px solid var(--border); background:rgba(255,255,255,.45)}
.tab{padding:14px 0; color:#8395a3; font-size:17px; position:relative; white-space:nowrap}
.tab.active{color:#314756}
.tab.active::after{content:''; position:absolute; left:0; right:0; bottom:-1px; height:3px; background:var(--blue); border-radius:4px}
.content{padding:20px 20px 28px}
.grid-2{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px}
.grid-3{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px}
.grid-4{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px}
.grid-5{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px}
.market-kpi-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:18px;
  align-items:stretch;
}
.card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow);
}
.card-header{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px 10px}
.card-title{font-size:18px; font-weight:720; margin:0; letter-spacing:-.01em}
.card-body{padding:16px 22px 22px}
.panel{padding:18px 22px}
.search-line{display:flex; align-items:center; gap:10px; color:var(--muted); border-bottom:2px solid var(--border); min-width:140px; height:38px}
.search-line input{border:0; outline:0; background:transparent; min-width:0; width:100%}
.table-wrap{overflow:auto; border-top:1px solid #aec1cf; max-height:700px}
.table-wrap.short{max-height:none}
.table{width:100%; margin:0; font-size:14px; border-collapse:separate; border-spacing:0}
.table th,.table td{padding:9px 12px; border-bottom:1px solid #edf2f5; vertical-align:middle}
.table thead th{position:sticky; top:0; background:#fff; z-index:2; color:#526a79; font-size:13px; font-weight:700}
.table tbody tr:nth-child(even) td{background:#f6f8fa}
.metric-box{background:#f5f8fb; border:1px solid var(--border); border-radius:12px; padding:18px}
.metric-value{font-size:18px; font-weight:760}
.metric-label{font-size:13px; color:var(--muted); margin-top:4px}
.muted{color:var(--muted)}
.heat{font-weight:700; text-align:center}
.heat.g1{background:#f2d19d !important}
.heat.g2{background:#ecec8b !important}
.heat.g3{background:#cbe98e !important}
.heat.g4{background:#9ddf9e !important}
.heat.g5{background:#69d0c0 !important; color:#173945}
.gauge{width:150px;height:80px; margin:8px auto 0; position:relative; overflow:hidden}
.gauge::before{
  content:''; position:absolute; inset:0; border-radius:150px 150px 0 0; border:8px solid #e8eef2; border-bottom:none;
}
.gauge::after{
  content:''; position:absolute; left:0; right:0; top:0; height:100%; border-radius:150px 150px 0 0;
  border:8px solid transparent; border-top-color:#cde978; border-left-color:#cde978; border-right-color:#cde978; border-bottom:none;
  clip-path:inset(0 32% 0 0);
}
.gauge-center{position:absolute; left:0; right:0; bottom:10px; text-align:center; font-size:16px; font-weight:800}
.side-panel{width:290px; flex:0 0 290px}
.split{display:flex; gap:18px}
.kpi-list{display:grid; gap:10px; margin-top:12px}
.kpi-row{display:flex; align-items:center; gap:12px}
.kpi-bar{width:10px; height:32px; border-radius:0; background:linear-gradient(180deg,#d6ef93,#8fdb7c)}
.table-score{min-width:92px}
.histogram-wrap{height:310px}
.progress-distribution{height:14px; background:#e9eff3; border-radius:999px; overflow:hidden; display:flex}
.progress-distribution span{display:block; height:100%}
.score-pill{border-radius:8px; padding:6px 10px; font-weight:700; display:inline-block; min-width:62px; text-align:center}
.score-good{background:#8ee1b7}
.score-mid{background:#d9ec94}
.score-warn{background:#f2d19d}
.big-stat{font-size:30px; font-weight:780; letter-spacing:-.03em}
.subtle{font-size:12px; color:var(--muted)}
.card-stack{display:grid; gap:18px}
.table-mini td,.table-mini th{padding:8px 10px; font-size:13px}
.hero-metrics{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--border); border-radius:12px; overflow:hidden; border:1px solid var(--border)}
.hero-metrics .item{background:#fff; padding:14px 16px}
.legend-dot{display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:8px}
.map-box{height:260px; border-radius:12px; overflow:hidden; border:1px solid var(--border)}
.small-note{font-size:12px; color:var(--muted)}
.filter-grid{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin-bottom:16px}
.filter-box{background:#fff; border:1px solid var(--border); border-radius:12px; padding:10px 12px}
.filter-box label{display:block; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#7a8e9c; font-weight:700; margin-bottom:4px}
.filter-box .value{display:flex; justify-content:space-between; align-items:center; font-size:14px}
.summary-cards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px}
.summary-card{background:#fff; border:1px solid var(--border); border-radius:14px; padding:18px 20px; box-shadow:var(--shadow)}
.summary-card .big-stat{text-align:center}
.summary-card .metric-label{text-align:center; font-size:16px}
.left-rail-labeled .rail-btn{font-size:17px}
.donut-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px}
.canvas-220{height:220px}
.canvas-260{height:260px}
.canvas-300{height:300px}
.canvas-340{height:340px}
.index-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px}
.preview-card img{width:100%; height:180px; object-fit:cover; border-radius:10px; border:1px solid var(--border)}
.preview-card .card-body{padding-top:14px}
.preview-card .actions{display:flex; gap:10px; margin-top:12px}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:radial-gradient(circle at top left,#f8fbfd 0,#eef2f5 45%,#e6edf2 100%)}
.auth-hero{padding:40px 44px;display:flex;flex-direction:column;justify-content:flex-start;gap:24px;position:relative;overflow:hidden}
.auth-hero::before{content:'';position:absolute;inset:auto -120px -120px auto;width:320px;height:320px;border-radius:50%;background:linear-gradient(180deg,rgba(22,164,243,.12),rgba(79,199,194,.03))}
.auth-hero::after{content:'';position:absolute;inset:40px auto auto -80px;width:220px;height:220px;border-radius:50%;background:linear-gradient(180deg,rgba(213,239,143,.2),rgba(213,239,143,0))}
.auth-panel{padding:32px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.58);backdrop-filter:blur(8px);border-left:1px solid var(--border)}
.auth-card{width:min(100%,480px);background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:28px}
.auth-brand{display:inline-flex;align-items:center;gap:12px;margin-bottom:24px;position:relative;z-index:1}
.auth-logo{width:auto;height:56px}
.auth-title{font-size:38px;line-height:1.05;letter-spacing:-.04em;margin:0 0 14px;max-width:620px;position:relative;z-index:1}
.auth-copy{max-width:560px;color:#5f7382;font-size:16px;position:relative;z-index:1}
.auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px;position:relative;z-index:1}
.auth-stat{background:rgba(255,255,255,.78);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.auth-stat .big-stat{font-size:28px}
.auth-list{display:grid;gap:12px;margin-top:0;position:relative;z-index:1}
.auth-list .workflow-step{background:rgba(255,255,255,.72)}
.field-stack{display:grid;gap:14px}
.field-box{background:#fff;border:1px solid var(--border);border-radius:14px;padding:10px 14px}
.field-box label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7a8e9c;font-weight:700;margin-bottom:6px}
.field-box .value{display:flex;align-items:center;justify-content:space-between;color:#3b5261;font-size:15px}
.sso-btn{width:100%;justify-content:center;height:46px}
.launch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.launch-card{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.launch-card .thumb{height:170px;border-bottom:1px solid var(--border);background-size:cover;background-position:center}
.launch-card .body{padding:18px 20px 20px}
.launch-card .eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7a8e9c;font-weight:800;margin-bottom:8px}
.launch-card .title{font-size:20px;font-weight:760;letter-spacing:-.02em;margin-bottom:8px}
.launch-card .desc{font-size:14px;color:#617684;min-height:63px}
.launch-card .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.admin-hub-hero{
  display:grid;
  grid-template-columns:1.35fr .95fr;
  gap:18px;
  padding:24px 26px;
  border:1px solid #d8e7ef;
  border-radius:22px;
  background:
    radial-gradient(circle at top right, rgba(205,233,120,.28), transparent 34%),
    linear-gradient(135deg, #f8fbfd 0%, #eef6fa 52%, #f8fcff 100%);
  box-shadow:var(--shadow);
}
.admin-hub-hero-copy{display:flex;flex-direction:column;justify-content:center}
.admin-hub-hero-title{
  margin:0 0 10px;
  font-size:34px;
  line-height:1.02;
  letter-spacing:-.04em;
  color:#142531;
}
.admin-hub-hero-text{
  margin:0;
  max-width:720px;
  color:#59707f;
  font-size:16px;
}
.admin-hub-hero-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.admin-hub-metric{
  padding:18px 16px;
  border:1px solid #d8e7ef;
  border-radius:18px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(4px);
}
.admin-hub-metric .big-stat{text-align:left}
.admin-hub-metric .metric-label{text-align:left;font-size:14px}
.admin-launch-group + .admin-launch-group{
  margin-top:24px;
  padding-top:24px;
  border-top:1px solid #edf2f5;
}
.admin-launch-group-head{margin-bottom:14px}
.admin-launch-card{
  border-color:#d9e6ee;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,253,.98));
}
.admin-launch-card .body{padding:20px 22px 22px}
.admin-launch-card .eyebrow{color:#4d7386}
.admin-launch-card .title{color:#153241}
.admin-launch-card .desc{min-height:72px}
.admin-related-card{
  border-color:#d9e6ee;
  background:linear-gradient(180deg, rgba(248,251,253,.98), rgba(255,255,255,.98));
}
.admin-related-card .stack-item{
  border-color:#d8e7ef;
  background:linear-gradient(180deg, #ffffff, #f8fbfd);
}
.admin-related-card .stack-item .metric-value{color:#173243}
.admin-related-card .stack-item .ghost-btn{white-space:nowrap}
.admin-section-intro{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
  align-items:stretch;
}
.admin-section-intro-copy{
  padding:20px 22px;
  border:1px solid #d9e6ee;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,250,252,.98));
}
.admin-section-intro-copy h3{
  margin:0 0 10px;
  font-size:24px;
  line-height:1.08;
  letter-spacing:-.03em;
  color:#173243;
}
.admin-section-intro-copy p{
  margin:0;
  color:#617684;
  font-size:15px;
}
.admin-section-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.admin-quick-card{
  padding:16px 18px;
  border:1px solid #d8e7ef;
  border-radius:16px;
  background:linear-gradient(180deg, #ffffff, #f8fbfd);
}
.admin-quick-card .eyebrow{
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7a8e9c;
  font-weight:800;
  margin-bottom:8px;
}
.admin-quick-card .title{
  margin:0 0 6px;
  font-size:17px;
  font-weight:740;
  letter-spacing:-.02em;
  color:#173243;
}
.admin-quick-card .desc{
  margin:0;
  font-size:14px;
  color:#617684;
}
.admin-quick-card .actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
.workspace-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.stack-list{display:grid;gap:12px}
.stack-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:#fff}
.stack-item .meta{color:#718593;font-size:13px}
@media (max-width:1200px){
  .grid-4,.grid-5,.summary-cards,.filter-grid,.hero-metrics,.grid-3,.launch-grid,.admin-hub-hero-metrics,.admin-section-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .market-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
  .side-panel{width:100%; flex:1}
  .split{flex-direction:column}
  .auth-shell,.workspace-grid,.admin-hub-hero,.admin-section-intro{grid-template-columns:1fr}
  .auth-panel{border-left:0;border-top:1px solid var(--border)}
}
@media (max-width:900px){
  .sidebar{display:none}
  .tabs{overflow:auto}
  .grid-2,.grid-3,.grid-4,.grid-5,.summary-cards,.filter-grid,.hero-metrics,.donut-grid,.launch-grid,.auth-grid,.workspace-grid,.admin-hub-hero-metrics,.admin-section-actions{grid-template-columns:1fr}
  .market-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
  .topbar{padding:20px 18px 14px}
  .topbar,.card-header,.stack-item{align-items:flex-start}
  .topbar,.card-header{flex-direction:column}
  .toolbar{justify-content:flex-start}
  .tabs{padding:0 18px}
  .content{padding:16px}
  .auth-hero,.auth-panel{padding:22px 18px}
  .auth-title{font-size:30px}
  .admin-hub-hero{padding:20px 18px}
  .admin-hub-hero-title{font-size:28px}
  .admin-section-intro-copy{padding:18px}
  .admin-section-intro-copy h3{font-size:21px}
  .stack-item .ghost-btn,.stack-item .primary-btn{width:100%;justify-content:center}
}
@media (max-width:640px){
  .market-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
  .admin-hub-hero,.admin-launch-card .body,.card-body,.panel{padding-left:18px;padding-right:18px}
}


.badge-soft{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#edf7ff;color:#2b6f95;font-size:12px;font-weight:700;border:1px solid #d6ebfa}
.badge-list{display:flex;flex-wrap:wrap;gap:6px}
.badge-soft.badge-more{background:#f5f8fb;color:#5b7382;border-color:#dbe4ea}
.standout-guide{display:flex;flex-wrap:wrap;gap:10px}
.standout-badge{justify-content:center}
.standout-dominant{background:#ffe9ed;color:#9e3c49;border-color:#f0c6cc}
.standout-top{background:#e8f7ef;color:#1f6c4b;border-color:#caebd7}
.standout-percentile{background:#edf7ff;color:#2b6f95;border-color:#d6ebfa}
.standout-decile{background:#fff8e8;color:#8a6a12;border-color:#f3e2a8}
.standout-share{background:#f3efff;color:#5e42a8;border-color:#ddd2fb}
.peer-rank-cell{display:flex;flex-direction:column;gap:6px;min-width:88px}
.opportunity-paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.opportunity-path-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fbfdff;
  box-shadow:var(--shadow);
}
.opportunity-path-card:hover{border-color:#b9d7e8;transform:translateY(-1px)}
.opportunity-path-domain{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7a8e9c}
.opportunity-path-meta{font-size:13px;color:#6f8493}
.workflow-breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.workflow-breadcrumbs .ghost-btn,.workflow-breadcrumbs .primary-btn{height:auto;min-height:38px}
.card-body input[type="text"],.card-body input[type="number"],.card-body input[type="url"],.card-body select{
  width:100%;
  min-height:42px;
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px 12px;
  background:#fff;
  color:var(--text);
}
.card-body label{display:block;font-size:12px;font-weight:700;color:#6f8493;margin-bottom:6px}
.status-good{background:#e9f8ef;color:#22714b;border-color:#caebd7}
.status-warn{background:#fff8e8;color:#8a6a12;border-color:#f3e2a8}
.status-bad{background:#fff0f1;color:#9e3c49;border-color:#f0c6cc}
.section-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#7a8e9c;font-weight:800;margin-bottom:10px}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.code-box{background:#0f1720;color:#d8e3eb;border-radius:12px;padding:16px 18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.6;border:1px solid #263341}
.kv{display:grid;grid-template-columns:160px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #edf2f5}
.kv:last-child{border-bottom:0}
.workflow{display:grid;gap:12px}
.workflow-step{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fafcfd;transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease}
.workflow-step:hover{border-color:#b9d7e8;box-shadow:var(--shadow);transform:translateY(-1px)}
.workflow-step:focus-visible{outline:2px solid #16a4f3;outline-offset:3px}
.list-tight{margin:0;padding-left:18px}
.list-tight li{margin:6px 0}
.split-3{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:18px}
.mini-card{padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:#fff}
.rule-pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:10px;background:#f5f8fb;border:1px solid var(--border);font-size:12px;font-weight:700;color:#516674;margin:0 8px 8px 0}
@media (max-width:1200px){.form-grid,.split-3{grid-template-columns:1fr}}
.market-table-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 18px 18px;
  border-top:1px solid #edf2f5;
}
.market-table-status{
  color:#6f8493;
  font-size:13px;
  font-weight:600;
}
.market-table-pager{
  display:flex;
  align-items:center;
  gap:10px;
}
.market-table-pager .ghost-btn[disabled]{
  opacity:.45;
  cursor:not-allowed;
}
.market-table-pager .ghost-btn.disabled{
  opacity:.45;
  cursor:not-allowed;
  pointer-events:none;
}
.market-table-message{
  text-align:center;
  color:#6f8493;
  padding:20px 12px !important;
}
.market-table-message-error{
  color:#9e3c49;
}
.field-box-input{
  padding:12px 14px;
  background:#fff;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.field-box-input:focus-within{
  border-color:#b7d8ea;
  box-shadow:0 0 0 4px rgba(22,164,243,.08);
}
.field-box-input input,.field-box-input select,.field-box-input textarea{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#3b5261;
  font-size:15px;
  line-height:1.4;
  padding:0;
  margin:0;
  appearance:none;
  -webkit-appearance:none;
  box-shadow:none;
}
.field-box-input textarea{
  resize:vertical;
  min-height:120px;
  font-family:inherit;
}
.field-box-input input::placeholder{color:#8da0ad}
.market-search-results{
  margin-top:10px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  max-height:260px;
  overflow:auto;
  box-shadow:var(--shadow);
}
.market-search-item{
  width:100%;
  border:0;
  border-bottom:1px solid #edf2f5;
  background:#fff;
  color:var(--text);
  text-align:left;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  gap:2px;
  cursor:pointer;
}
.market-search-item:last-child{border-bottom:0}
.market-search-item:hover{background:#f6f8fa}
.market-search-item[disabled]{
  color:#7b8d9b;
  cursor:default;
  background:#fff;
}
.market-search-name{font-size:14px;font-weight:700}
.market-search-meta{font-size:12px;color:#6f8493}
.table-link{
  color:#1b6f99;
  font-weight:700;
  text-decoration:none;
}
.table-link:hover{text-decoration:underline}
.star-rating{
  display:inline-flex;
  align-items:center;
  gap:2px;
  color:#d8a11f;
  font-size:15px;
  letter-spacing:.06em;
  white-space:nowrap;
}
.star-rating-empty{
  color:#7b8d9b;
  letter-spacing:0;
  font-size:13px;
}
.password-wrap{
  position:relative;
  display:flex;
  align-items:center;
}
.password-wrap input{padding-right:34px}
.password-toggle{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  color:#6b8090;
  padding:0;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.password-toggle i{font-size:16px;line-height:1}
.auth-form{margin-top:8px}
.forgot-link{
  color:#5a7385;
  font-size:14px;
  font-weight:600;
}
.auth-alert{
  border-radius:14px;
  padding:12px 14px;
  margin-bottom:16px;
  border:1px solid var(--border);
  font-size:14px;
  font-weight:600;
}
.auth-alert-success{
  background:#e9f8ef;
  color:#22714b;
  border-color:#caebd7;
}
.auth-alert-error{
  background:#fff0f1;
  color:#9e3c49;
  border-color:#f0c6cc;
}
.auth-check{
  display:flex;
  align-items:center;
  gap:8px;
  color:#5a7181;
  font-size:14px;
  font-weight:600;
}
.auth-check input{
  accent-color:var(--blue);
}
.starter-shell-card{
  min-height:420px;
}
.starter-shell-body{
  min-height:420px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}
.rail-avatar{
  font-size:12px;
  font-weight:700;
}
.rail-avatar small{
  font-size:12px;
  font-weight:700;
}
.admin-form-stack{
  display:grid;
  gap:16px;
}
.mini-form-card{
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  padding:16px;
}
.admin-check{
  display:flex;
  align-items:center;
  gap:8px;
  color:#5a7181;
  font-size:14px;
  font-weight:600;
}
.filter-grid-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.filter-grid-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.filter-grid-4{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.auth-shell-single{
  grid-template-columns:1fr;
}
.auth-panel-full{
  border-left:0;
}
.code-box{
  overflow-wrap:anywhere;
}
