:root{
  --bg:#F6F7FB;--surface:#FFFFFF;--surface2:#F8FAFC;--surface3:#F1F5F9;--border:#E2E8F0;--border2:#CBD5E1;
  --text:#0F172A;--dim:#475569;--dim2:#94A3B8;
  --orange:#FC832B;--orange-d:#E5701B;--yellow:#FED74F;--yellow-soft:#FFF9EB;--yellow-bd:#FDE68A;
  --grad:linear-gradient(135deg,#FC832B 0%,#FED74F 100%);--grad-soft:linear-gradient(135deg,#FFF9EB 0%,#FEF3C7 100%);
  --green:#15803D;--green-bg:#DCFCE7;--green-bd:#86EFAC;--red:#B91C1C;--red-bg:#FEE2E2;--red-bd:#FCA5A5;
  --black:#0A0A0A;--dark:#0F172A;--r:12px;--r-sm:8px;--nav:248px;--shadow:0 1px 2px rgba(15,23,42,.04),0 1px 3px rgba(15,23,42,.06);
}
*{box-sizing:border-box}
html,body,#root{margin:0;min-height:100%}
body{background:var(--bg);color:var(--text);font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.01em}
h3{font-size:16px;margin-bottom:6px}
.serif{font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:0}
a{color:var(--orange-d);text-decoration:none;cursor:pointer}a:hover{text-decoration:underline}
button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;color:var(--text)}
p{margin:0 0 8px}
.dim{color:var(--dim)}.sm{font-size:12.5px}.red{color:var(--red)}.green{color:var(--green)}.orange{color:var(--orange-d)}.nowrap{white-space:nowrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}
.center{display:grid;place-items:center;height:100vh;color:var(--dim)}

/* shell */
.shell{display:flex;min-height:100vh}
.sidebar{width:var(--nav);flex:none;background:var(--black);color:#fff;display:flex;flexDirection:column;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:30}
.brand{display:flex;align-items:center;gap:10px;padding:16px 16px 14px;border-bottom:1px solid rgba(255,255,255,.1);cursor:pointer}
.brand-n{font-weight:700;font-size:15px;letter-spacing:-.01em;color:#fff}.brand-s{font-size:9.5px;font-weight:700;letter-spacing:.16em;color:var(--yellow)}
.sidebar nav{padding:6px 10px 10px;flex:1}
.navgroup{margin-top:12px}.navgroup-l{font-size:10.5px;font-weight:700;letter-spacing:.12em;color:rgba(255,255,255,.4);text-transform:uppercase;padding:4px 12px}
.navitem{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:1px;border-radius:var(--r-sm);color:rgba(255,255,255,.7);font-weight:500;font-size:13.5px;text-decoration:none!important}
.navitem:hover{background:rgba(255,255,255,.06);color:#fff}
.navitem.on{background:rgba(252,131,43,.16);color:#fff;font-weight:600;box-shadow:inset 3px 0 0 var(--orange)}
.navitem.on svg{stroke:var(--orange)}
.sidebar-foot{padding:10px;border-top:1px solid rgba(255,255,255,.1)}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{height:58px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 22px;gap:14px;position:sticky;top:0;z-index:20}
.topbar h1{font-size:17px;font-weight:700}
.topbar-r{margin-left:auto;display:flex;align-items:center;gap:12px}
.menubtn{display:none}
.userchip{display:flex;align-items:center;gap:8px;cursor:pointer;position:relative;padding:4px 6px;border-radius:var(--r-sm)}.userchip:hover{background:var(--surface3)}
.userchip-t{line-height:1.15;font-size:13px;font-weight:600}.userchip-t .dim{font-size:11px;font-weight:500}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--grad);color:#0A0A0A;display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}
.avatar.sm{width:32px;height:32px;font-size:12px;background:var(--yellow-soft);color:var(--orange-d);border:1px solid var(--yellow-bd)}
.menu{position:absolute;right:0;top:44px;background:#fff;border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:0 10px 30px rgba(15,23,42,.12);min-width:150px;padding:6px;z-index:50}
.menu a{display:block;padding:7px 10px;border-radius:6px;color:var(--text);font-size:13px}.menu a:hover{background:var(--surface3);text-decoration:none}
.content{padding:22px 24px 80px;max-width:1380px;width:100%}
.nav-backdrop{display:none}

/* layout helpers */
.stack{display:flex;flex-direction:column;gap:16px}.stack-sm{display:flex;flex-direction:column;gap:10px}
.row{display:flex;gap:12px;flex-wrap:wrap}
.two-col{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:16px;align-items:start}
.two-col-wide{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:16px;align-items:start}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.pagehead{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.pagehead h2{font-size:24px;font-weight:800;letter-spacing:-.02em}.pagehead .sub{color:var(--dim);font-size:13.5px;margin-top:3px;max-width:860px}.pagehead-right{margin-left:auto}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:16px;box-shadow:var(--shadow)}.card-pad0{padding:0}
.card-accent{border-color:var(--yellow-bd);background:linear-gradient(180deg,#FFFDF5,#fff)}
.card-h{display:flex;align-items:center;gap:10px;padding:0}.card-pad0 .card-h{padding:11px 14px;border-bottom:1px solid var(--border)}.card-h.wrap{flex-wrap:wrap}
.card-pad0 .card-h:last-child{border-bottom:none;border-top:1px solid var(--border)}
.empty{color:var(--dim2);text-align:center;padding:18px;font-size:13px}.empty.tall{padding:56px 20px}
.kicker{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-d)}
.note{background:var(--yellow-soft);border:1px solid var(--yellow-bd);border-radius:var(--r-sm);padding:10px 12px;font-size:13px}
.err{background:var(--red-bg);border:1px solid var(--red-bd);color:var(--red);border-radius:var(--r-sm);padding:9px 12px;font-size:13px;margin-bottom:10px}
.hint{font-size:11.5px;color:var(--dim2);margin-top:4px}
.lbl{display:block;font-weight:600;font-size:12px;color:var(--dim);margin-bottom:5px}
.field+.field{margin-top:0}

/* inputs */
.inp{width:100%;padding:8px 11px;border:1px solid var(--border2);border-radius:var(--r-sm);font-size:14px;outline:none;background:#fff;color:var(--text)}
.inp:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(252,131,43,.15)}
.inp:disabled{background:var(--surface3)}
.ta{resize:vertical;line-height:1.55;font-size:13.5px}
select.inp{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}
.chk{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--dim);cursor:pointer;white-space:nowrap}
.seg{display:inline-flex;background:var(--surface3);border:1px solid var(--border);border-radius:var(--r-sm);padding:2px;flex-wrap:wrap}
.seg button{border:none;background:transparent;color:var(--dim);border-radius:6px;padding:5px 11px;font-weight:600;font-size:12.5px;white-space:nowrap}.seg button.on{background:#fff;color:var(--text);box-shadow:var(--shadow)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{padding:5px 10px;border-radius:999px;border:1px solid var(--border2);background:#fff;color:var(--dim);font-weight:600;font-size:12px;cursor:pointer}.chip.on{border-color:var(--orange);background:var(--yellow-soft);color:var(--orange-d)}.chip.static{cursor:default}
.quick{display:flex;gap:8px;margin-top:4px;font-size:11.5px}.quick a{color:var(--dim)}.quick a:hover{color:var(--orange-d)}

/* buttons */
.btn{border-radius:var(--r-sm);font-weight:600;font-size:13.5px;padding:9px 15px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.35;text-decoration:none!important;white-space:nowrap;transition:background .12s}
.btn-sm{font-size:12.5px;padding:6px 11px}.btn-xs{font-size:12px;padding:4px 9px}.btn-full{width:100%}
.btn-primary{background:var(--orange);color:#fff}.btn-primary:hover{background:var(--orange-d)}
.btn-secondary{background:#fff;border-color:var(--border2);color:var(--text)}.btn-secondary:hover{background:var(--surface3)}
.btn-ghost{background:transparent;color:var(--orange-d)}.btn-ghost:hover{background:var(--yellow-soft)}
.btn-danger.btn-primary{background:var(--red)}.btn-danger.btn-ghost,.btn-danger.btn-secondary{color:var(--red)}
.btn:disabled{opacity:.55;cursor:default}
.btnrow{display:inline-flex;gap:6px;flex-wrap:wrap}
.iconbtn{background:transparent;border:1px solid var(--border);border-radius:var(--r-sm);width:32px;height:32px;display:grid;place-items:center;color:var(--dim)}.iconbtn:hover{background:var(--surface3)}

/* badges */
.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:600;white-space:nowrap;border:1px solid transparent;line-height:1.5}
.badge-sm{padding:1px 7px;font-size:11px}
.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.badge-gray{background:var(--surface3);border-color:var(--border);color:var(--dim)}
.badge-green{background:var(--green-bg);border-color:var(--green-bd);color:var(--green)}
.badge-red{background:var(--red-bg);border-color:var(--red-bd);color:var(--red)}
.badge-orange{background:#FFEDD5;border-color:#FDBA74;color:#C2410C}
.badge-yellow{background:var(--yellow-soft);border-color:var(--yellow-bd);color:#92400E}
a .badge{cursor:pointer}a:hover .badge{filter:brightness(.97)}

/* tables */
.tablewrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:13.5px}
th{padding:9px 14px;text-align:left;font-size:11px;font-weight:700;color:var(--dim2);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);white-space:nowrap}
td{padding:9px 14px;vertical-align:middle;border-top:1px solid var(--border)}
tr:first-child td{border-top:none}
tbody tr:hover td{background:#FCFCFD}
tr.overdue td:first-child{box-shadow:inset 3px 0 0 var(--red)}
.note-clip{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* kpis */
.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.kpis-inline{display:flex;gap:10px;flex-wrap:wrap}
.kpi{background:#fff;border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 14px;box-shadow:var(--shadow)}
.kpi-l{font-size:10.5px;color:var(--dim2);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.kpi-v{font-weight:800;font-size:20px;margin-top:2px}.kpi-s{font-size:11.5px;color:var(--dim)}
.kpi-accent{border-color:var(--yellow-bd);background:var(--yellow-soft)}.kpi-accent .kpi-v{color:var(--orange-d)}.kpi-click{cursor:pointer}.kpi-click:hover{border-color:var(--orange)}
.kpis-inline .kpi{padding:6px 12px}.kpis-inline .kpi-v{font-size:16px}

/* hero */
.hero{background:var(--black);color:#fff;border-radius:var(--r);padding:26px 28px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;right:-60px;top:-80px;width:260px;height:260px;border-radius:50%;background:var(--grad);opacity:.35;filter:blur(30px)}
.hero .kicker{color:var(--yellow)}.hero-t{font-size:32px;margin:6px 0 16px;position:relative}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative}
.hero .btn-secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}.hero .btn-secondary:hover{background:rgba(255,255,255,.14)}
.hero .btn-ghost{color:var(--yellow)}.hero .btn-ghost:hover{background:rgba(255,255,255,.08)}
.flow{margin:0;padding-left:20px;font-size:13.5px}.flow li{margin-bottom:5px}
.activity{list-style:none;margin:0;padding:0;font-size:13px}.activity li{padding:4px 0;border-top:1px solid var(--border)}.activity li:first-child{border-top:none}

/* dropzone */
.dropzone{border:2px dashed var(--border2);border-radius:var(--r);padding:26px 18px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--surface2);transition:all .12s}
.dropzone:hover,.dropzone.on{border-color:var(--orange);background:var(--yellow-soft)}
.dropzone-sm{color:var(--dim2);font-size:11.5px;text-align:center;padding:14px 4px;border:1px dashed var(--border2);border-radius:var(--r-sm)}
.or{text-align:center;color:var(--dim2);font-size:12px;margin:12px 0 8px;text-transform:uppercase;letter-spacing:.08em}
.bar{height:6px;background:var(--surface3);border-radius:6px;overflow:hidden;margin-top:6px}.bar div{height:100%;background:var(--grad);transition:width .3s}

/* research */
.mini{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-sm);padding:9px 11px;min-width:0}
.mini-l{font-size:10.5px;font-weight:700;color:var(--dim2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.angle{border:1px solid var(--border);border-radius:var(--r-sm);padding:12px 13px;background:#fff}
.angle-h{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}
.say{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-sm);padding:9px 11px;margin-top:8px;font-size:13px;line-height:1.5}
.say-l{font-size:10.5px;color:var(--orange-d);font-weight:700;letter-spacing:.08em;margin-bottom:3px;text-transform:uppercase}
.person{display:flex;align-items:center;gap:11px;border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 11px;background:#fff}

/* kanban */
.kanban{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:12px;align-items:start;overflow-x:auto}
.col{background:var(--surface3);border:1px solid var(--border);border-radius:var(--r);min-height:300px}
.col.droppable{outline:2px dashed var(--yellow-bd)}
.col-h{padding:10px 12px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:13px}
.count{font-size:11px;color:var(--dim);font-weight:700;background:#fff;border-radius:999px;padding:1px 8px;border:1px solid var(--border)}
.col-b{padding:10px;display:flex;flex-direction:column;gap:9px}
.dealcard{background:#fff;border:1px solid var(--border);border-left:3px solid var(--dim2);border-radius:var(--r-sm);padding:10px 11px;cursor:pointer;box-shadow:var(--shadow)}
.dealcard:hover{border-color:var(--orange)}.dealcard.hot{border-left-color:var(--orange)}

/* overlays */
.overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:100;display:grid;place-items:center;padding:20px}
.overlay.drawer-ov{display:flex;justify-content:flex-end;padding:0}
.modal{background:#fff;border-radius:var(--r);max-height:92vh;overflow:auto;box-shadow:0 24px 70px rgba(15,23,42,.3);display:flex;flex-direction:column}
.modal-h{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;gap:10px;position:sticky;top:0;background:#fff;z-index:2}
.modal-t{font-weight:800;font-size:17px}.modal-s{color:var(--dim);font-size:12.5px;margin-top:1px}
.modal-b{padding:20px}.modal-f{padding:13px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:0;background:#fff}
.drawer{height:100%;background:var(--bg);border-left:1px solid var(--border);box-shadow:-20px 0 60px rgba(15,23,42,.2);overflow-y:auto;display:flex;flex-direction:column}
.drawer-h{background:#fff;border-bottom:1px solid var(--border);padding:16px 20px;position:sticky;top:0;z-index:2}
.drawer-t{font-weight:800;font-size:20px;margin-top:2px}
.drawer-b{padding:16px 20px 60px}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--dark);color:#fff;padding:11px 18px;border-radius:999px;font-size:13.5px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:200;max-width:90vw}
.toast-err{background:var(--red)}.toast-warn{background:#B45309}
.spin-wrap{display:inline-flex;align-items:center;gap:7px;color:var(--dim);font-size:13px}
.spinner{width:14px;height:14px;border:2px solid var(--border2);border-top-color:var(--orange);border-radius:50%;animation:sp .7s linear infinite;display:inline-block}
@keyframes sp{to{transform:rotate(360deg)}}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:14px}
.tabs button{border:none;background:none;padding:8px 12px;font-weight:600;color:var(--dim);border-bottom:2px solid transparent;margin-bottom:-1px;font-size:13.5px}.tabs button.on{color:var(--orange-d);border-bottom-color:var(--orange)}
.ul{margin:0;padding-left:18px}.ul li{margin-bottom:5px}.ol{margin:0;padding-left:20px}.ol li{margin-bottom:8px}

/* training */
.prose p{margin:0 0 8px;font-size:13.5px;line-height:1.6}
.stepnum{width:26px;height:26px;border-radius:50%;background:var(--grad);color:#0A0A0A;font-weight:800;font-size:12px;display:grid;place-items:center;margin-bottom:8px}
.script{display:flex;flex-direction:column;gap:0;margin-top:12px;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}
.line{display:grid;grid-template-columns:130px 1fr;border-top:1px solid var(--border)}.line:first-child{border-top:none}
.line-k{background:var(--surface2);padding:10px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--orange-d)}
.line-v{padding:10px 14px;font-size:14px;line-height:1.6}
.acc-h{padding:13px 16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.acc-h:hover{background:var(--surface2)}
.acc-b{padding:4px 16px 16px;border-top:1px solid var(--border)}
.price{font-family:'Instrument Serif',Georgia,serif;font-size:24px;color:var(--orange-d);margin:2px 0 6px}
.stats{display:flex;gap:14px;margin:8px 0 10px;flex-wrap:wrap}.stats div{display:flex;flex-direction:column}.stats b{font-size:18px;color:var(--orange-d)}.stats span{font-size:11px;color:var(--dim)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.site{display:block;background:#fff;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;color:var(--text);position:relative;box-shadow:var(--shadow);text-decoration:none!important}
.site:hover{border-color:var(--orange)}.thumb{aspect-ratio:16/10;background:var(--surface3) center top/cover no-repeat;border-bottom:1px solid var(--border)}
.site-b{padding:10px 12px}.site .copybtn{position:absolute;top:8px;right:8px;background:rgba(255,255,255,.9)}
.prompt-card{cursor:pointer}.prompt-card:hover{border-color:var(--orange)}
.promptbody{white-space:pre-wrap;background:var(--dark);color:#E2E8F0;border-radius:var(--r-sm);padding:14px;font-size:12.5px;line-height:1.55;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;max-height:420px;overflow:auto}

/* login */
.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--black);padding:20px;position:relative;overflow:hidden}
.login-wrap:before{content:"";position:absolute;left:50%;top:-200px;width:600px;height:600px;margin-left:-300px;border-radius:50%;background:var(--grad);opacity:.25;filter:blur(60px)}
.login{background:#fff;border-radius:16px;padding:30px 28px;width:min(400px,100%);position:relative;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.login-brand .brand-n{color:var(--text)}.login-brand .brand-s{color:var(--orange-d)}
.login h2{font-size:26px;margin-bottom:14px}.login .field{margin-bottom:12px}

/* responsive */
@media (max-width:1100px){.kpis{grid-template-columns:repeat(3,1fr)}.two-col,.two-col-wide{grid-template-columns:1fr}.grid4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){
  .sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);transition:transform .2s;box-shadow:20px 0 60px rgba(0,0,0,.3)}.sidebar.open{transform:none}
  .nav-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:25}
  .menubtn{display:grid}.content{padding:16px 14px 80px}.topbar{padding:0 14px}.topbar h1{font-size:15px}.userchip-t{display:none}
  .grid2,.grid3{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.hero-t{font-size:24px}.line{grid-template-columns:1fr}.line-k{padding:6px 12px}
  .pagehead-right{margin-left:0;width:100%}
}
