
/* TRUE Codex UI Pack - style inspired, not copied */
:root{
  --tc-blue:#2563eb;
  --tc-blue-2:#1d4ed8;
  --tc-sky:#eff6ff;
  --tc-bg:#f8fbff;
  --tc-text:#0f172a;
  --tc-muted:#64748b;
  --tc-border:#dbe5f0;
  --tc-card:rgba(255,255,255,.88);
  --tc-shadow:0 18px 48px rgba(15,23,42,.08);
  --tc-soft-shadow:0 8px 22px rgba(37,99,235,.08);
  color-scheme: light;
}
html,body,#root{min-height:100%;}
html:not(.dark) body{
  background:
    radial-gradient(circle at 50% 10%, rgba(37,99,235,.11), transparent 38%),
    radial-gradient(circle at 28% 45%, rgba(20,184,166,.10), transparent 34%),
    linear-gradient(180deg,#f8fbff 0%,#ffffff 52%,#f8fbff 100%) !important;
  color:var(--tc-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif !important;
}
*{scrollbar-color:#cbd5e1 transparent;}
a,button,.semi-button,.semi-navigation-item,.semi-card,.semi-input-wrapper{transition:all .18s ease!important;}

/* Header */
.semi-layout-header > header,
header.text-semi-color-text-0,
.app-layout > .semi-layout-header{
  background:rgba(255,255,255,.82)!important;
  backdrop-filter: blur(16px) saturate(145%)!important;
  -webkit-backdrop-filter: blur(16px) saturate(145%)!important;
  border-bottom:1px solid rgba(226,232,240,.85)!important;
  box-shadow:0 8px 30px rgba(15,23,42,.04)!important;
}
header .group img, img[alt="logo"], img[alt="Logo"]{
  border-radius:14px!important;
  box-shadow:0 10px 24px rgba(37,99,235,.16)!important;
}
header nav a,
header .semi-button,
header button{
  border-radius:12px!important;
  font-weight:650!important;
}
header nav a:hover,
header .semi-button:hover{
  background:#f1f5ff!important;
  color:var(--tc-blue)!important;
  transform:translateY(-1px);
}

/* Buttons / inputs */
.semi-button-primary,.semi-button.semi-button-primary,
button.semi-button-primary{
  background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;
  border-color:transparent!important;
  border-radius:12px!important;
  box-shadow:0 12px 22px rgba(37,99,235,.22)!important;
  font-weight:700!important;
}
.semi-button-primary:hover{filter:brightness(1.04); transform:translateY(-1px);}
.semi-button-tertiary,.semi-button-light,.semi-button-borderless,
.semi-button[theme="outline"],button:not(.semi-button-primary){border-radius:12px!important;}
.semi-input-wrapper,.semi-select,.semi-select-selection,
input,textarea,select{
  border-radius:12px!important;
  border-color:var(--tc-border)!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 1px 2px rgba(15,23,42,.03)!important;
}
.semi-input-wrapper:hover,.semi-input-wrapper-focus,.semi-select:hover{
  border-color:#93c5fd!important;
  box-shadow:0 0 0 4px rgba(37,99,235,.08)!important;
}

/* Cards / content */
.semi-card,
[class*="rounded-xl"], [class*="rounded-2xl"]{
  border-color:rgba(219,229,240,.95)!important;
}
.semi-card{
  border-radius:18px!important;
  box-shadow:var(--tc-soft-shadow)!important;
  background:var(--tc-card)!important;
}
.semi-card:hover{box-shadow:var(--tc-shadow)!important; transform:translateY(-1px);}

/* Landing page */
body.tc-home main,
body.tc-home .semi-layout-content{
  background:transparent!important;
}
body.tc-home h1{
  letter-spacing:-.055em!important;
  line-height:.98!important;
  color:#111827!important;
  text-shadow:none!important;
}
body.tc-home main p{color:#536179!important;}
body.tc-home input[readonly], body.tc-home .semi-input-wrapper, body.tc-home select{
  border-radius:999px!important;
  background:rgba(241,245,249,.86)!important;
  border:1px solid rgba(226,232,240,.72)!important;
  box-shadow:0 14px 34px rgba(37,99,235,.08)!important;
}
body.tc-home main .semi-button{border-radius:999px!important; min-height:42px;}
body.tc-home main img{filter:drop-shadow(0 12px 22px rgba(15,23,42,.08));}

/* Login page: clean centered ASXS-like card */
body.tc-login .semi-layout-content > div.relative,
body.tc-login main > div.relative{
  min-height:calc(100vh - 64px)!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(37,99,235,.13),transparent 40%),
    radial-gradient(circle at 40% 55%,rgba(20,184,166,.10),transparent 36%),
    linear-gradient(135deg,#eef4ff 0%,#faf7ff 100%)!important;
}
body.tc-login .blur-ball{filter:blur(120px)!important; opacity:.18!important;}
body.tc-login .w-full.max-w-sm,
body.tc-login .w-full.max-w-md{
  max-width:538px!important;
  margin-top:72px!important;
}
body.tc-login .flex.flex-col.items-center > .w-full.max-w-md,
body.tc-login .flex.flex-col.items-center > .w-full.max-w-sm{
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(226,232,240,.88)!important;
  border-radius:14px!important;
  padding:24px!important;
  box-shadow:0 22px 70px rgba(30,64,175,.12)!important;
}
body.tc-login .semi-card{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
body.tc-login .semi-card-body{padding:14px 0 4px!important;}
body.tc-login h3{letter-spacing:-.02em!important;}
body.tc-login .semi-input-wrapper{height:44px!important;}
body.tc-login .semi-button-primary{height:44px!important; width:100%!important;}
.tc-login-actions{display:flex;gap:8px;margin:14px 0 16px;}
.tc-login-action{
  display:inline-flex;align-items:center;gap:7px;
  border:1px solid rgba(226,232,240,.9);background:#f8fafc;color:#111827;
  border-radius:9px;padding:9px 14px;font-size:14px;font-weight:600;cursor:pointer;
}
.tc-login-action:hover{background:#eef4ff;color:var(--tc-blue); transform:translateY(-1px);}
.tc-brand-badge{
  width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#2563eb,#1d4ed8);
  display:inline-flex;align-items:center;justify-content:center;color:white;box-shadow:0 10px 24px rgba(37,99,235,.24);
}

/* Console / dashboard */
body.tc-console .semi-layout,
body.tc-console .semi-layout-content{background:#fbfdff!important;}
body.tc-console .semi-layout-sider,
body.tc-console aside,
body.tc-console [class*="sider"]{
  background:#fff!important;
  border-right:1px solid #e2e8f0!important;
  box-shadow:8px 0 30px rgba(15,23,42,.03)!important;
}
body.tc-console .semi-navigation-item,
body.tc-console [role="menuitem"],
body.tc-console nav button{
  border-radius:8px!important;
  margin:3px 10px!important;
  font-weight:600!important;
}
body.tc-console .semi-navigation-item-selected,
body.tc-console .semi-navigation-item-active,
body.tc-console [aria-current="page"],
body.tc-console nav button[aria-selected="true"]{
  background:var(--tc-blue)!important;
  color:#fff!important;
  box-shadow:0 12px 22px rgba(37,99,235,.18)!important;
}
body.tc-console .semi-card,
body.tc-console [class*="shadow"],
body.tc-console .semi-table-wrapper{
  border-radius:14px!important;
  border:1px solid #e2e8f0!important;
  box-shadow:0 7px 18px rgba(15,23,42,.045)!important;
}
body.tc-console .semi-table,
body.tc-console table{border-radius:14px!important; overflow:hidden!important;}
body.tc-console h1,body.tc-console h2,body.tc-console h3{letter-spacing:-.025em!important;}

/* Small polish */
.Toastify__toast{border-radius:14px!important; box-shadow:var(--tc-shadow)!important;}
.dark body{background:#0b1220!important;}
/* ===== TRUE Codex ASXS-style dashboard refinement 20260428d ===== */
body.tc-console{
  --tc-asxs-blue:#2563eb;
  --tc-asxs-border:#e2e8f0;
  --tc-asxs-text:#020817;
  --tc-asxs-muted:#64748b;
  background:#fff!important;
  color:var(--tc-asxs-text)!important;
  font-family: Outfit, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Segoe UI", system-ui, sans-serif!important;
}
body.tc-console .semi-layout{background:#fff!important;}

/* Full-height ASXS-like sidebar */
body.tc-console aside.app-sider,
body.tc-console .app-sider.semi-layout-sider{
  position:fixed!important;
  left:0!important; top:0!important; bottom:0!important;
  width:256px!important; min-width:256px!important; max-width:256px!important;
  height:100vh!important;
  z-index:90!important;
  background:#fff!important;
  border-right:1px solid var(--tc-asxs-border)!important;
  box-shadow:none!important;
  padding:0!important;
}
body.tc-console .semi-layout-sider-children,
body.tc-console .sidebar-container{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  background:#fff!important;
}
body.tc-console .tc-side-brand{
  height:64px;
  display:flex; align-items:center; gap:12px;
  padding:0 16px;
  border-bottom:1px solid var(--tc-asxs-border);
  font-weight:800; font-size:17px; color:#020817;
  letter-spacing:-.02em;
}
body.tc-console .tc-side-brand-mark{
  width:36px;height:36px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#2563eb;color:#fff;font-weight:900;font-size:19px;
  box-shadow:0 8px 18px rgba(37,99,235,.22);
}
body.tc-console .sidebar-nav,
body.tc-console .semi-navigation.sidebar-nav{
  flex:1!important;
  padding:14px 12px!important;
  background:#fff!important;
}
body.tc-console .semi-navigation-header-list-outer,
body.tc-console .semi-navigation-footer,
body.tc-console .semi-navigation-list-wrapper{background:transparent!important;}
body.tc-console .semi-navigation-header,
body.tc-console .semi-navigation-item-text[title="控制台"],
body.tc-console .semi-navigation-item-text[title="个人中心"]{
  color:#94a3b8!important;
  font-size:12px!important;
  font-weight:500!important;
}
body.tc-console .semi-navigation-item{
  height:40px!important;
  min-height:40px!important;
  margin:4px 0!important;
  padding:0 12px!important;
  border-radius:8px!important;
  color:#374151!important;
  background:transparent!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:40px!important;
}
body.tc-console .semi-navigation-item:hover{
  background:#f3f4f6!important;
  color:#111827!important;
  transform:none!important;
  box-shadow:none!important;
}
body.tc-console .semi-navigation-item-selected,
body.tc-console .semi-navigation-item-selected:hover{
  background:#2563eb!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.tc-console .semi-navigation-item-selected svg,
body.tc-console .semi-navigation-item-selected img{filter:brightness(0) invert(1)!important;}
body.tc-console .semi-navigation-item-selected .semi-navigation-item-text,
body.tc-console .semi-navigation-item-selected .semi-navigation-item-text *,
body.tc-console .semi-navigation-item-selected .truncate,
body.tc-console .semi-navigation-item-selected .font-medium,
body.tc-console .semi-navigation-item-selected [style*='--semi-color-primary']{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.tc-console .semi-navigation-item-selected [style]{
  color:#fff!important;
}
body.tc-console .sidebar-collapse-button{
  margin-top:auto!important;
  border-top:1px solid var(--tc-asxs-border)!important;
  padding:14px 12px!important;
  background:#fff!important;
}
body.tc-console .sidebar-collapse-button .semi-button{
  width:100%!important;height:36px!important;border-radius:999px!important;
  background:#fff!important;border:1px solid var(--tc-asxs-border)!important;
  color:#334155!important;box-shadow:none!important;
}

/* Header becomes ASXS top bar; original brand/nav hidden */
body.tc-console .semi-layout-header{
  position:fixed!important;
  top:0!important; left:256px!important; right:0!important;
  width:calc(100% - 256px)!important;
  height:64px!important;
  z-index:80!important;
  background:#fff!important;
  border-bottom:1px solid var(--tc-asxs-border)!important;
  box-shadow:none!important;
}
body.tc-console .semi-layout-header > header,
body.tc-console header.text-semi-color-text-0{
  height:64px!important;
  background:#fff!important;
  border-bottom:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
body.tc-console header .flex.items-center > a.group,
body.tc-console header nav{
  display:none!important;
}
body.tc-console .tc-top-title{
  display:flex;align-items:center;gap:12px;
  min-width:210px;
  margin-left:10px;
  color:#020817;
  font-size:20px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.02em;
}
body.tc-console .tc-top-title:before{
  content:"";
  width:18px;height:18px;display:inline-block;
  background:#2563eb;
  -webkit-mask:linear-gradient(#000 0 0) center/4px 4px no-repeat,
               linear-gradient(#000 0 0) left top/7px 7px no-repeat,
               linear-gradient(#000 0 0) right top/7px 7px no-repeat,
               linear-gradient(#000 0 0) left bottom/7px 7px no-repeat,
               linear-gradient(#000 0 0) right bottom/7px 7px no-repeat;
          mask:linear-gradient(#000 0 0) center/4px 4px no-repeat,
               linear-gradient(#000 0 0) left top/7px 7px no-repeat,
               linear-gradient(#000 0 0) right top/7px 7px no-repeat,
               linear-gradient(#000 0 0) left bottom/7px 7px no-repeat,
               linear-gradient(#000 0 0) right bottom/7px 7px no-repeat;
}
body.tc-console header .flex.items-center.justify-between{padding:0 18px!important;}
body.tc-console header .flex.items-center.gap-2,
body.tc-console header .flex.items-center.gap-3{
  gap:12px!important;
}
body.tc-console header button.semi-button{
  min-height:36px!important;
  border-radius:8px!important;
  border:1px solid var(--tc-asxs-border)!important;
  background:rgba(255,255,255,.88)!important;
  color:#020817!important;
  box-shadow:0 1px 2px rgba(0,0,0,.05)!important;
  font-weight:600!important;
}
body.tc-console header button.semi-button:hover{
  background:#f8fafc!important;
  border-color:#cbd5e1!important;
  transform:none!important;
}

/* Main layout and page heading */
body.tc-console main.semi-layout-content{
  margin-left:256px!important;
  padding:88px 24px 28px!important;
  min-height:100vh!important;
  background:#fff!important;
}
body.tc-console main.semi-layout-content > .mt-\[60px\],
body.tc-console main.semi-layout-content > div:first-child{
  margin-top:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.tc-console .tc-page-hero{
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  margin:0 0 22px!important;
}
body.tc-console .tc-page-hero h1{
  margin:0 0 6px!important;
  font-size:28px!important;
  line-height:1.1!important;
  font-weight:850!important;
  letter-spacing:-.035em!important;
  color:#020817!important;
}
body.tc-console .tc-page-hero p{
  margin:0!important;color:#64748b!important;font-size:15px!important;
}

/* Cards/tables/forms use ASXS shape */
body.tc-console .semi-card,
body.tc-console .semi-table-wrapper,
body.tc-console .semi-table-container,
body.tc-console .semi-table,
body.tc-console .table-scroll-card{
  border-radius:12px!important;
  border:1px solid var(--tc-asxs-border)!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(15,23,42,.05)!important;
  overflow:hidden!important;
}
body.tc-console .semi-card:hover{transform:none!important;box-shadow:0 1px 2px rgba(15,23,42,.05)!important;}
body.tc-console .semi-card-header{
  border-bottom:1px solid var(--tc-asxs-border)!important;
  padding:16px 18px!important;
  background:#fff!important;
}
body.tc-console .semi-card-body{padding:16px 18px!important;background:#fff!important;}
body.tc-console .semi-card-header .semi-typography,
body.tc-console .semi-card-header h1,
body.tc-console .semi-card-header h2,
body.tc-console .semi-card-header h3{
  font-size:18px!important;font-weight:800!important;color:#020817!important;letter-spacing:-.02em!important;
}
body.tc-console .semi-button{
  border-radius:8px!important;
  font-weight:650!important;
  box-shadow:0 1px 2px rgba(0,0,0,.04)!important;
}
body.tc-console .semi-button-primary{
  background:#2563eb!important;border-color:#2563eb!important;color:#fff!important;box-shadow:none!important;
}
body.tc-console .semi-button-danger{color:#ef4444!important;background:#fff1f2!important;border-color:#ffe4e6!important;}
body.tc-console .semi-input-wrapper,
body.tc-console .semi-input,
body.tc-console input{
  height:36px!important;
  border-radius:999px!important;
  border-color:#dbe5f0!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.tc-console .semi-input-wrapper:hover,
body.tc-console .semi-input-wrapper-focus{border-color:#bfdbfe!important;box-shadow:0 0 0 3px rgba(37,99,235,.08)!important;}
body.tc-console .semi-table-thead > .semi-table-row > .semi-table-row-head,
body.tc-console th{
  background:#fff!important;
  color:#64748b!important;
  font-weight:700!important;
  border-bottom:1px solid var(--tc-asxs-border)!important;
}
body.tc-console .semi-table-tbody > .semi-table-row > .semi-table-row-cell,
body.tc-console td{
  border-bottom:1px solid #f1f5f9!important;
  color:#334155!important;
}
body.tc-console .semi-table-tbody > .semi-table-row:hover > .semi-table-row-cell{background:#f8fafc!important;}
body.tc-console .semi-empty,
body.tc-console [class*="empty"]{color:#64748b!important;}

/* Dashboard stat blocks: closer to ASXS metric cards */
body.tc-console main .semi-card:has(.semi-list-item),
body.tc-console main .semi-card:has([class*="list"]){border-radius:12px!important;}
body.tc-console main h2:first-child{font-size:28px!important;letter-spacing:-.035em!important;}

@media (max-width: 900px){
  body.tc-console aside.app-sider{position:fixed!important;transform:translateX(-100%);}
  body.tc-console .semi-layout-header{left:0!important;width:100%!important;}
  body.tc-console main.semi-layout-content{margin-left:0!important;padding:82px 14px 22px!important;}
}
