:root{
  --primary:#2FB8A6;--primary-d:#1C8980;--primary-l:#E7F5F1;--primary-ll:#F4FAF8;
  --accent:#F4A261;--accent-d:#E07A3B;--accent-l:#FDECD9;--indigo:#3B5BDB;--indigo-l:#E6E9FB;
  --purple:#7C5BCF;--purple-l:#EFE8FB;--rose:#E55A6B;--rose-l:#FBE6E9;--teal:#0EA5B7;--teal-l:#DEF6F8;
  --amber:#F59E0B;--amber-l:#FDF1D7;--bg:#F4F7FA;--surface:#fff;--line:#E5ECEC;--line-soft:#EEF3F3;
  --text:#1A2E2A;--muted:#5A736F;--soft:#94A8A4;--shadow-sm:0 1px 2px rgba(28,73,68,.04);
  --shadow:0 4px 16px rgba(28,73,68,.06);--shadow-lg:0 14px 38px rgba(28,73,68,.10);
  --r-sm:8px;--r:12px;--r-lg:16px;--side-w:88px;--topbar:56px;--tabbar:48px;
}
*{box-sizing:border-box}body{font:13px/1.55 -apple-system,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
button,input,select,textarea{font:inherit}button{transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(47,184,166,.18)!important;border-color:var(--primary)!important}

/* Shared navigation shell */
.sidebar,.cc-rail{width:var(--side-w)!important;background:var(--surface)!important;border-right:1px solid var(--line)!important;padding:12px 8px!important;box-shadow:var(--shadow-sm);overflow:auto}
.brand,.cc-logo{width:52px!important;height:52px!important;margin:0 auto 12px!important;border-radius:12px!important;background:var(--primary)!important;color:#fff!important;font-size:18px!important;font-weight:800!important;display:grid!important;place-items:center!important;padding:0!important;box-shadow:0 5px 14px rgba(47,184,166,.22)!important}
.brand::after,.cc-logo::after{content:none!important}
#nav,.cc-rail{gap:3px!important}.nav-item,.cc-rail>button:not(.cc-logo),.cc-bottom button{min-height:58px!important;width:100%!important;padding:7px 3px!important;margin:0!important;border-radius:10px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;color:var(--muted)!important;font-size:11px!important;font-weight:500!important;background:transparent!important;border:0!important;white-space:nowrap}
.nav-item svg,.cc-rail svg{width:24px!important;height:24px!important;padding:4px!important;border-radius:7px!important;background:var(--primary-l)!important;color:var(--primary)!important;stroke:currentColor!important;flex:none}
.cc-nav-item::before,.nav-item[data-unified="camps"]::before{content:"营";display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--purple-l);color:var(--purple);font-size:11px;font-weight:800;flex:none}
.nav-item:nth-child(2) svg,.cc-rail>button:nth-child(3) svg{background:var(--rose-l)!important;color:var(--rose)!important}.nav-item:nth-child(3) svg,.cc-rail>button:nth-child(4) svg{background:var(--teal-l)!important;color:var(--teal)!important}.nav-item:nth-child(4) svg,.cc-rail>button:nth-child(5) svg{background:var(--amber-l)!important;color:var(--amber)!important}.nav-item:nth-child(5) svg,.cc-rail>button:nth-child(6) svg{background:var(--indigo-l)!important;color:var(--indigo)!important}.nav-item:nth-child(6) svg,.cc-rail>button:nth-child(7) svg{background:var(--purple-l)!important;color:var(--purple)!important}
.nav-item:hover,.cc-rail>button:hover,.cc-bottom button:hover{background:var(--primary-ll)!important;color:var(--primary-d)!important}
.nav-item.active,.cc-rail>button.selected{background:var(--primary-l)!important;color:var(--primary-d)!important;box-shadow:none!important}
.nav-item.active svg,.cc-rail>button.selected svg{background:#fff!important;color:var(--primary)!important;box-shadow:0 1px 4px rgba(28,73,68,.08)!important}
.sidebar-bottom,.cc-bottom{margin-top:auto!important;border-top:1px solid var(--line-soft)!important;padding-top:10px!important;position:static!important;width:100%!important}
.cc-bottom{display:flex!important;flex-direction:column!important}

/* Main workspace and two-level top area */
.workspace{margin-left:var(--side-w)!important;width:calc(100% - var(--side-w))!important;background:var(--bg)!important}
.topbar{height:var(--topbar)!important;background:#fff!important;border-bottom:1px solid var(--line)!important;padding:0 24px!important;box-shadow:none!important}
.topbar h1{font-size:16px!important;color:var(--text)!important}.topbar .eyebrow{color:var(--primary)!important;font-size:11px!important;letter-spacing:.04em!important}
.view{padding:20px 24px!important;background:var(--bg)!important;min-height:calc(100vh - var(--topbar))!important}
.app-shell>.workspace>.topbar{display:none!important}
.app-shell>.workspace>.view{min-height:100vh!important}
.inline-role{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;white-space:nowrap}
.inline-role select{padding:7px 28px 7px 9px!important;background:#fff!important;border-radius:8px!important}
.section-intro,.p-toolbar{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 20px!important;box-shadow:var(--shadow-sm);margin-bottom:14px!important}
.section-intro h2,.p-toolbar h2,.tpl-card h3,.cc-card h3{font-size:16px!important;color:var(--text)!important}.section-intro p,.p-toolbar p,.p-small,.tpl-small{font-size:12px!important;color:var(--muted)!important}

/* Buttons, controls, panels */
.cc-btn.solid,.primary,.tpl-primary,.p-control .solid{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important;box-shadow:0 4px 12px rgba(47,184,166,.22)!important;border-radius:var(--r-sm)!important}
.cc-btn.solid:hover,.primary:hover{background:var(--primary-d)!important;transform:translateY(-1px)}
.cc-btn,.outline,.text-btn{border-radius:var(--r-sm)!important;border:1px solid var(--line)!important;color:var(--muted)!important;background:#fff!important}
.cc-btn:hover,.outline:hover{border-color:var(--primary)!important;color:var(--primary-d)!important;background:var(--primary-ll)!important}
input,select,textarea{border:1px solid var(--line)!important;background:#F7FAFA!important;border-radius:10px!important;color:var(--text)!important}
.tpl-card,.cc-card,.setting-card,.panel,.payment-users,.camp-month{background:#fff!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:var(--shadow-sm)!important}
.tpl-card:hover,.cc-card:hover{box-shadow:var(--shadow)!important}
.p-note{background:var(--primary-ll)!important;border:1px solid var(--primary-l)!important;color:var(--muted)!important;border-radius:var(--r-sm)!important}
.p-pill,.tpl-pill,.cc-day{border-radius:7px!important;background:var(--primary-l)!important;color:var(--primary-d)!important}

/* Business tables */
.tpl-table,.p-table{border:1px solid var(--line)!important;border-radius:var(--r)!important;overflow:hidden!important;background:#fff!important}
.tpl-table table,.p-table table,.camp-table{width:100%;border-collapse:collapse!important}
.tpl-table th,.p-table th,.camp-table th{background:var(--primary-ll)!important;color:var(--muted)!important;font-size:12px!important;font-weight:600!important}
.tpl-table td,.p-table td,.tpl-table th,.p-table th{padding:12px 14px!important;border-bottom:1px solid var(--line-soft)!important;text-align:left}
.tpl-table tr:hover td,.p-table tr:hover td{background:#F8FCFB!important}
.p-link,.text-btn{color:var(--primary-d)!important}

/* Customer four-column workspace */
body.chat-mode>.app-shell>.sidebar{display:flex!important}.cc{left:var(--side-w)!important;grid-template-columns:320px minmax(430px,1fr) 350px!important;background:var(--bg)!important}.cc>.cc-rail{display:none!important}
.cc-list,.cc-chat,.cc-work{background:#fff!important;border-color:var(--line)!important}.cc-tabs{height:48px!important;border-bottom:1px solid var(--line)!important;padding:6px 12px!important;gap:6px!important}
.cc-tabs button{border-radius:8px!important;color:var(--muted)!important}.cc-tabs button.active{background:var(--primary)!important;color:#fff!important;border:0!important}
.cc-filters{padding:12px!important;background:#fff!important;border-bottom:1px solid var(--line-soft)!important}.cc-person{padding:14px 16px!important;border-bottom:1px solid var(--line-soft)!important}.cc-person.active{background:var(--primary-l)!important;border-left:3px solid var(--primary)!important}.cc-human{background:var(--accent-l)!important;color:var(--accent-d)!important}
.cc-chat-head,.cc-work-head{height:64px!important;background:#fff!important;border-bottom:1px solid var(--line)!important}.cc-messages{background:#FAFCFC!important}.cc-bubble.sent{background:var(--primary-l)!important;color:var(--text)!important}.cc-bubble.incoming{background:#fff!important;border:1px solid var(--line)!important}.cc-compose{border-color:var(--line)!important;box-shadow:var(--shadow)!important}.cc-work{background:var(--bg)!important}.cc-work-head,.cc-work-footer{background:#fff!important}.cc-ai{background:var(--primary-l)!important;color:var(--primary-d)!important;border-radius:8px!important}

/* Calendar / configuration */
.camp-table{margin-bottom:12px!important}.camp-table th,.camp-table td{border:1px solid var(--line)!important}.camp-table th{padding:8px!important}.camp-cell{background:#DDF3EF!important;color:var(--text)!important;min-height:38px}.camp-cell.rest{background:var(--rose-l)!important;color:var(--rose)!important}.camp-cell:hover{box-shadow:inset 0 0 0 2px var(--primary)!important}
.p-modal{background:rgba(15,42,38,.28)!important}.p-modal>section,.p-sheet>section{border-radius:var(--r-lg)!important;box-shadow:var(--shadow-lg)!important;border:1px solid var(--line)!important}

@media(max-width:1380px){.cc{grid-template-columns:270px minmax(400px,1fr) 320px!important}.view{padding:16px!important}}
@media(max-width:1120px){.workspace{min-width:900px}.cc{min-width:1100px!important}}
