:root{
    --pine:#1F3A32; --pine-2:#2E5548; --honey:#C9861F; --brick:#9E3B2E; --ok:#2F6B52; --info:#3D6480;
    --ground:#F2F2EC; --surface:#FFFFFF; --surface-2:#EAEAE2; --surface-3:#DEDED4;
    --line:#D8D8CD; --line-2:#C2C3B6;
    --text:#212724; --muted:#646E68; --faint:#949E97;
    --viz-1:#1B7A55; --viz-ref:#9AA39D; --viz-grid:#E4E4DA;
    --ff:"Archivo","Helvetica Neue",Arial,sans-serif;
    --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --pine:#8FBFAA; --pine-2:#6E9E8B; --honey:#E0A63F; --brick:#D4705E; --ok:#6BB894; --info:#7FA8C4;
      --ground:#111514; --surface:#191F1C; --surface-2:#212926; --surface-3:#2B342F;
      --line:#2C3531; --line-2:#3E4C46;
      --text:#E3E8E5; --muted:#93A099; --faint:#6D7A74;
      --viz-1:#5CC49B; --viz-ref:#6D7A74; --viz-grid:#252E2A;
    }
  }
  :root[data-theme="dark"]{
    --pine:#8FBFAA; --pine-2:#6E9E8B; --honey:#E0A63F; --brick:#D4705E; --ok:#6BB894; --info:#7FA8C4;
    --ground:#111514; --surface:#191F1C; --surface-2:#212926; --surface-3:#2B342F;
    --line:#2C3531; --line-2:#3E4C46;
    --text:#E3E8E5; --muted:#93A099; --faint:#6D7A74;
    --viz-1:#5CC49B; --viz-ref:#6D7A74; --viz-grid:#252E2A;
  }

  *{box-sizing:border-box;}
  body{margin:0;background:var(--ground);color:var(--text);font-family:var(--ff);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;}
  button,input,select{font-family:inherit;}
  :focus-visible{outline:2px solid var(--honey);outline-offset:2px;}
  @media(prefers-reduced-motion:reduce){*{transition:none !important;}}

  /* ---------- intro ---------- */
  .intro{border-bottom:1px solid var(--line-2);padding:52px 24px 34px;background:var(--surface);}
  .intro .in{max-width:1240px;margin:0 auto;}
  .kick{font-family:var(--mono);font-size:.68rem;letter-spacing:.17em;text-transform:uppercase;color:var(--pine);display:flex;align-items:center;gap:14px;margin-bottom:18px;}
  .kick::after{content:"";flex:1;height:1px;background:var(--line-2);}
  .intro h1{font-size:clamp(1.9rem,4.6vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1.03;margin:0 0 14px;max-width:20ch;text-wrap:balance;}
  .intro p{color:var(--muted);max-width:66ch;margin:0 0 22px;font-size:1rem;line-height:1.6;}
  .intro p b{color:var(--text);font-weight:600;}
  .segsel{display:inline-flex;border:1px solid var(--line-2);background:var(--ground);}
  .segsel button{background:none;border:none;padding:10px 18px;cursor:pointer;color:var(--muted);font-size:.8rem;font-weight:600;border-right:1px solid var(--line-2);}
  .segsel button:last-child{border-right:none;}
  .segsel button[aria-pressed="true"]{background:var(--pine);color:var(--ground);}
  .segnote{font-family:var(--mono);font-size:.7rem;color:var(--faint);letter-spacing:.04em;margin-top:12px;line-height:1.6;max-width:66ch;}

  /* ---------- shell ---------- */
  .app{max-width:1240px;margin:28px auto 40px;padding:0 24px;}
  .frame{border:1px solid var(--line-2);background:var(--surface);overflow:hidden;}
  .topbar{display:flex;align-items:center;gap:12px;padding:9px 13px;background:var(--pine);color:var(--ground);flex-wrap:wrap;}
  .brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:.92rem;letter-spacing:-.01em;flex:0 0 auto;}
  .brand i{width:16px;height:16px;background:var(--honey);border-radius:3px;display:block;flex:0 0 auto;}
  .brand em{font-style:normal;opacity:.72;font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;}
  .searchwrap{position:relative;flex:1 1 200px;min-width:150px;max-width:340px;}
  .searchwrap input{
    width:100%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);
    color:inherit;padding:5px 10px;font-size:.8rem;
  }
  .searchwrap input::placeholder{color:inherit;opacity:.6;}
  :root[data-theme="dark"] .searchwrap input,
  :root:not([data-theme="light"]) .searchwrap input{}
  .sres{
    position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;
    background:var(--surface);border:1px solid var(--line-2);color:var(--text);
    max-height:280px;overflow:auto;box-shadow:0 8px 22px rgba(0,0,0,.14);
  }
  .sres div{padding:8px 11px;border-bottom:1px solid var(--line);cursor:pointer;font-size:.82rem;}
  .sres div:last-child{border-bottom:none;}
  .sres div:hover{background:var(--surface-2);}
  .sres div b{display:block;font-weight:600;}
  .sres div span{color:var(--muted);font-size:.75rem;font-family:var(--mono);letter-spacing:.04em;}
  .sres .none{cursor:default;color:var(--muted);}
  .topright{display:flex;align-items:center;gap:9px;margin-left:auto;flex-wrap:wrap;}
  .topchip{font-family:var(--mono);font-size:.63rem;letter-spacing:.07em;border:1px solid currentColor;padding:2px 8px;opacity:.88;white-space:nowrap;}
  .who{font-family:var(--mono);font-size:.65rem;letter-spacing:.06em;opacity:.85;white-space:nowrap;}
  .bell{position:relative;background:none;border:1px solid rgba(255,255,255,.3);color:inherit;width:28px;height:26px;cursor:pointer;font-size:.8rem;line-height:1;padding:0;}
  .bell b{position:absolute;top:-6px;right:-6px;background:var(--honey);color:#1B1B16;font-family:var(--mono);font-size:.58rem;padding:1px 4px;border-radius:8px;}
  .notif{position:absolute;top:calc(100% + 6px);right:0;width:300px;background:var(--surface);border:1px solid var(--line-2);color:var(--text);z-index:40;box-shadow:0 8px 22px rgba(0,0,0,.16);max-height:320px;overflow:auto;}
  .notif .nh{padding:8px 11px;background:var(--surface-2);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.6rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);}
  .notif .ni{padding:9px 11px;border-bottom:1px solid var(--line);display:flex;gap:9px;align-items:flex-start;}
  .notif .ni:last-child{border-bottom:none;}
  .notif .ni i{width:7px;height:7px;border-radius:50%;flex:0 0 auto;margin-top:5px;display:block;}
  .notif .ni b{display:block;font-size:.8rem;font-weight:600;}
  .notif .ni span{display:block;color:var(--muted);font-size:.74rem;}
  .bellwrap{position:relative;}

  .body{display:grid;grid-template-columns:198px 1fr;min-height:680px;}
  @media(max-width:900px){.body{grid-template-columns:1fr;}}
  .nav{background:var(--surface-2);border-right:1px solid var(--line);padding:10px 0;}
  @media(max-width:900px){.nav{display:flex;overflow-x:auto;border-right:none;border-bottom:1px solid var(--line);padding:0;}}
  .nav button{display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:8px 16px;color:var(--muted);font-size:.82rem;font-weight:500;white-space:nowrap;border-left:2px solid transparent;}
  @media(max-width:900px){.nav button{width:auto;border-left:none;border-bottom:2px solid transparent;padding:11px 13px;}}
  .nav button:hover{color:var(--text);}
  .nav button[aria-current="true"]{color:var(--honey);border-left-color:var(--honey);background:var(--surface);font-weight:600;}
  @media(max-width:900px){.nav button[aria-current="true"]{border-bottom-color:var(--honey);border-left-color:transparent;}}
  .nav .grp{font-family:var(--mono);font-size:.57rem;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);padding:13px 16px 4px;}
  @media(max-width:900px){.nav .grp{display:none;}}
  .view{padding:18px;overflow:auto;}

  /* ---------- primitives ---------- */
  .vh{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:15px;}
  .vh h2{margin:0;font-size:1.22rem;font-weight:700;letter-spacing:-.02em;}
  .vh p{margin:4px 0 0;color:var(--muted);font-size:.85rem;max-width:66ch;}
  .tools{display:flex;gap:7px;flex-wrap:wrap;align-items:center;}
  .chip{font-family:var(--mono);font-size:.62rem;letter-spacing:.07em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--line-2);color:var(--muted);white-space:nowrap;display:inline-block;}
  .chip.ok{color:var(--ok);border-color:var(--ok);} .chip.warn{color:var(--honey);border-color:var(--honey);}
  .chip.bad{color:var(--brick);border-color:var(--brick);} .chip.info{color:var(--info);border-color:var(--info);}
  .chip.solid{background:var(--pine);border-color:var(--pine);color:var(--ground);}
  .btn{background:none;border:1px solid var(--line-2);color:var(--muted);padding:6px 11px;font-size:.72rem;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;}
  .btn:hover{color:var(--honey);border-color:var(--honey);}
  .btn.on{color:var(--honey);border-color:var(--honey);background:var(--surface-2);}
  .btn.pri{background:var(--honey);border-color:var(--honey);color:#1B1B16;font-weight:600;}
  .btn.pri:hover{opacity:.88;color:#1B1B16;}
  .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:15px;}
  .kpi{background:var(--surface);padding:12px 13px;}
  .kpi span{font-family:var(--mono);font-size:.57rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);display:block;line-height:1.55;}
  .kpi b{display:block;font-size:1.45rem;font-weight:700;letter-spacing:-.025em;margin-top:5px;font-variant-numeric:tabular-nums;}
  .kpi b.good{color:var(--ok);} .kpi b.bad{color:var(--brick);} .kpi b.mid{color:var(--honey);} .kpi b.pine{color:var(--pine);}
  .kpi em{font-style:normal;font-family:var(--mono);font-size:.61rem;color:var(--faint);display:block;margin-top:3px;}
  .panel{border:1px solid var(--line);background:var(--surface);margin-bottom:15px;}
  .ph{padding:9px 13px;background:var(--surface-2);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
  .ph b{font-size:.85rem;font-weight:600;}
  .ph .sub{font-family:var(--mono);font-size:.61rem;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);}
  .scr{overflow-x:auto;}
  table{border-collapse:collapse;width:100%;min-width:560px;font-size:.83rem;}
  th,td{text-align:left;padding:9px 13px;border-bottom:1px solid var(--line);vertical-align:middle;}
  thead th{font-family:var(--mono);font-size:.57rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:500;background:var(--surface-2);white-space:nowrap;}
  tbody tr:last-child td{border-bottom:none;}
  tbody tr.clickable{cursor:pointer;}
  tbody tr.clickable:hover{background:var(--surface-2);}
  td b{font-weight:600;}
  .n{font-variant-numeric:tabular-nums;font-family:var(--mono);font-size:.78rem;white-space:nowrap;}
  .bar{height:5px;background:var(--surface-3);position:relative;display:block;min-width:56px;margin-top:4px;}
  .bar i{position:absolute;left:0;top:0;bottom:0;background:var(--pine);display:block;}
  .bar i.hot{background:var(--brick);} .bar i.mid{background:var(--honey);}
  .note{padding:11px 13px;font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);background:var(--surface-2);line-height:1.6;}
  .note b{color:var(--text);}
  .empty{border:1px dashed var(--line-2);padding:28px 18px;text-align:center;color:var(--muted);font-size:.86rem;line-height:1.65;}
  .empty b{display:block;color:var(--text);font-size:1rem;margin-bottom:7px;font-weight:600;}
  .grid2{display:grid;grid-template-columns:1fr 300px;gap:15px;}
  @media(max-width:900px){.grid2{grid-template-columns:1fr;}}

  /* tasks */
  .task{display:flex;gap:12px;align-items:flex-start;padding:11px 13px;border-bottom:1px solid var(--line);}
  .task:last-child{border-bottom:none;}
  .task .tick{width:17px;height:17px;border:1.5px solid var(--line-2);flex:0 0 auto;margin-top:2px;cursor:pointer;background:none;border-radius:2px;padding:0;}
  .task .tick:hover{border-color:var(--ok);}
  .task.done .tick{background:var(--ok);border-color:var(--ok);}
  .task.done .tt b{text-decoration:line-through;opacity:.5;}
  .tt{flex:1;min-width:0;} .tt b{display:block;font-weight:600;font-size:.87rem;} .tt span{display:block;color:var(--muted);font-size:.78rem;}
  .tmeta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;flex:0 0 auto;}

  /* kanban */
  .board{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;}
  .col{flex:0 0 200px;display:flex;flex-direction:column;gap:7px;}
  .colh{display:flex;justify-content:space-between;align-items:flex-start;gap:6px;padding-bottom:6px;border-bottom:2px solid var(--pine);min-height:34px;}
  .colh b{font-size:.77rem;font-weight:700;line-height:1.25;}
  .colh em{font-style:normal;font-family:var(--mono);font-size:.62rem;color:var(--faint);white-space:nowrap;flex:0 0 auto;}
  .drop{display:flex;flex-direction:column;gap:7px;min-height:70px;padding:2px;border:1px dashed transparent;}
  .drop.over{border-color:var(--honey);background:var(--surface-2);}
  .kc{background:var(--surface);border:1px solid var(--line);padding:8px 9px;display:flex;flex-direction:column;gap:5px;cursor:grab;}
  .kc.late{border-left:3px solid var(--brick);} .kc.warn{border-left:3px solid var(--honey);}
  .kc b{font-size:.81rem;font-weight:600;} .kc .p{font-size:.73rem;color:var(--muted);}
  .kc .v{font-family:var(--mono);font-size:.74rem;color:var(--pine);font-variant-numeric:tabular-nums;}
  .kc .f{display:flex;justify-content:space-between;align-items:center;gap:6px;font-family:var(--mono);font-size:.61rem;color:var(--faint);}
  .kc .adv{background:none;border:1px solid var(--line-2);color:var(--muted);font-family:var(--mono);font-size:.6rem;padding:2px 6px;cursor:pointer;}
  .kc .adv:hover{color:var(--honey);border-color:var(--honey);}

  /* cliente */
  .quick{display:flex;gap:6px;flex-wrap:wrap;padding:11px 13px;border-bottom:1px solid var(--line);background:var(--surface-2);}
  .tl{list-style:none;margin:0;padding:0;}
  .tl li{padding:11px 13px;border-bottom:1px solid var(--line);display:flex;gap:12px;}
  .tl li:last-child{border-bottom:none;}
  .tl .dot{width:8px;height:8px;border-radius:50%;background:var(--pine);flex:0 0 auto;margin-top:6px;}
  .tl .dot.new{background:var(--honey);}
  .tl .c b{display:block;font-size:.85rem;font-weight:600;}
  .tl .c span{display:block;color:var(--muted);font-size:.79rem;}
  .tl .c em{font-style:normal;font-family:var(--mono);font-size:.62rem;color:var(--faint);display:block;margin-top:3px;}
  .side .row{padding:10px 13px;border-bottom:1px solid var(--line);}
  .side .row:last-child{border-bottom:none;}
  .side .row span{font-family:var(--mono);font-size:.57rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);display:block;}
  .side .row b{display:block;font-size:.9rem;font-weight:600;margin-top:3px;}
  .prj{padding:10px 13px;border-bottom:1px solid var(--line);} .prj:last-child{border-bottom:none;}
  .prj b{display:block;font-size:.85rem;font-weight:600;}
  .prj .m{display:flex;gap:6px;align-items:center;margin-top:5px;flex-wrap:wrap;}

  /* inbox */
  .inbox{display:grid;grid-template-columns:228px minmax(0,1fr) 258px;border:1px solid var(--line);min-height:520px;}
  @media(max-width:1120px){.inbox{grid-template-columns:210px minmax(0,1fr);} .inbox .cpanel{display:none;}}
  @media(max-width:820px){.inbox{grid-template-columns:1fr;} .inbox .conv-list{display:none;}}
  .cpanel{border-left:1px solid var(--line);background:var(--surface);overflow:auto;}
  .cpanel .ch{padding:12px 13px;border-bottom:1px solid var(--line);background:var(--surface-2);}
  .cpanel .ch b{display:block;font-size:.9rem;font-weight:600;}
  .cpanel .ch span{display:block;font-family:var(--mono);font-size:.66rem;color:var(--faint);margin-top:3px;}
  .cpanel .sec{font-family:var(--mono);font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);padding:11px 13px 4px;}
  .cpanel .kv{padding:5px 13px;}
  .cpanel .kv .kv{display:block;}
  .cpanel .kv .kv span{display:block;margin-bottom:1px;}
  .cpanel .kv .kv b{text-align:left;font-size:.83rem;}
  .cpanel .tags{display:flex;flex-wrap:wrap;gap:5px;padding:4px 13px 10px;}
  .cpanel .tag{font-family:var(--mono);font-size:.6rem;letter-spacing:.05em;border:1px solid var(--line-2);color:var(--muted);padding:2px 7px;white-space:nowrap;}
  .cpanel .tag.add{border-style:dashed;color:var(--honey);border-color:var(--honey);cursor:pointer;background:none;}
  .cpanel .mini{padding:8px 13px;border-top:1px solid var(--line);font-size:.79rem;}
  .cpanel .mini b{display:block;font-weight:600;}
  .cpanel .mini span{display:block;color:var(--muted);font-size:.74rem;}
  .cpanel .acts{padding:11px 13px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px;}
  .cpanel .acts .btn{text-align:center;}

  /* captação */
  .code{background:var(--surface-2);border:1px solid var(--line);padding:11px 13px;font-family:var(--mono);font-size:.69rem;line-height:1.7;color:var(--muted);white-space:pre;overflow-x:auto;margin:0;}
  .code b{color:var(--honey);font-weight:500;}
  .code i{color:var(--faint);font-style:normal;}
  .fontes{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:12px;margin-bottom:15px;}
  .fonte{border:1px solid var(--line);background:var(--surface);cursor:pointer;}
  .fonte.sel{border-color:var(--honey);box-shadow:inset 0 2px 0 var(--honey);}
  .fonte.off{opacity:.55;}
  .fonte .fh{padding:10px 13px;border-bottom:1px solid var(--line);background:var(--surface-2);display:flex;justify-content:space-between;gap:8px;align-items:flex-start;}
  .fonte .fh b{font-size:.85rem;font-weight:600;line-height:1.3;}
  .fonte .fb{padding:11px 13px;display:flex;flex-direction:column;gap:7px;}
  .fonte .tg{display:flex;flex-wrap:wrap;gap:5px;}

  /* filtros de relatório */
  .filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;padding:11px 13px;background:var(--surface-2);border:1px solid var(--line);margin-bottom:12px;}
  .fgrp{display:flex;flex-direction:column;}
  .fgrp label{font-family:var(--mono);font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:4px;}
  .fgrp select{background:var(--surface);border:1px solid var(--line-2);color:var(--text);padding:5px 8px;font-size:.78rem;max-width:186px;}
  .views{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:14px;}
  .views .vl{font-family:var(--mono);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);}
  .vchip{font-family:var(--mono);font-size:.63rem;letter-spacing:.04em;border:1px solid var(--line-2);color:var(--muted);padding:4px 9px;cursor:pointer;background:none;}
  .vchip:hover{color:var(--honey);border-color:var(--honey);}
  .vchip.novo{border-style:dashed;color:var(--honey);border-color:var(--honey);}

  /* horário de atendimento */
  .hor{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);min-width:640px;}
  .hrow{background:var(--surface);padding:8px 13px;display:grid;grid-template-columns:42px 50px 74px 74px 50px 76px 76px;gap:9px;align-items:center;font-size:.82rem;}
  .hrow.head{background:var(--surface-2);font-family:var(--mono);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);}
  .hrow .dia{font-weight:600;}
  .hrow.off .dia,.hrow.off .fake{opacity:.4;}
  .hrow .fake.mute{opacity:.4;color:var(--faint);}
  .hrow .direto{font-family:var(--mono);font-size:.62rem;letter-spacing:.04em;color:var(--info);white-space:nowrap;grid-column:span 2;}
  .hrow .sep{text-align:center;color:var(--faint);font-family:var(--mono);font-size:.7rem;}
  .conv-list{border-right:1px solid var(--line);background:var(--surface-2);overflow:auto;}
  .conv{padding:10px 12px;border-bottom:1px solid var(--line);cursor:pointer;display:flex;gap:9px;}
  .conv:hover{background:var(--surface-3);}
  .conv.sel{background:var(--surface);box-shadow:inset 3px 0 0 var(--honey);}
  .conv .av{width:28px;height:28px;border-radius:50%;background:var(--surface-3);flex:0 0 auto;display:grid;place-items:center;font-size:11px;font-weight:600;color:var(--muted);}
  .conv .cm{min-width:0;flex:1;}
  .conv .cm b{display:block;font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .conv .cm span{display:block;font-size:.74rem;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .conv .cn{flex:0 0 auto;text-align:right;}
  .conv .cn em{font-style:normal;font-family:var(--mono);font-size:.58rem;color:var(--faint);display:block;}
  .conv .cn i{display:inline-block;background:var(--honey);color:#1B1B16;font-family:var(--mono);font-size:.56rem;padding:0 4px;border-radius:7px;margin-top:3px;}
  .thread{display:flex;flex-direction:column;background:var(--surface);}
  .th-head{padding:9px 13px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
  .th-body{flex:1;padding:14px 13px;display:flex;flex-direction:column;gap:8px;background:var(--surface-2);min-height:300px;overflow:auto;}
  .msg{max-width:76%;padding:8px 11px;font-size:.81rem;line-height:1.5;border-radius:9px;}
  .msg.in{background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:2px;align-self:flex-start;}
  .msg.out{background:var(--surface-3);border-bottom-right-radius:2px;align-self:flex-end;}
  .msg time{display:block;font-family:var(--mono);font-size:.58rem;color:var(--faint);margin-top:4px;}
  .th-input{padding:9px 13px;border-top:1px solid var(--line);display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
  .fake-input{flex:1;min-width:120px;border:1px solid var(--line);padding:6px 11px;color:var(--faint);font-size:.8rem;background:var(--surface-2);}
  /* status da conversa, nota interna e macros */
  .stbar{display:flex;gap:7px;flex-wrap:wrap;align-items:center;padding:8px 13px;border-bottom:1px solid var(--line);background:var(--surface-2);}
  .stbar .lb{font-family:var(--mono);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);}
  .stbtn{background:none;border:1px solid var(--line-2);color:var(--muted);padding:4px 9px;font-family:var(--mono);font-size:.62rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;}
  .stbtn:hover{color:var(--text);}
  .stbtn.on{background:var(--pine);border-color:var(--pine);color:var(--ground);font-weight:600;}
  .stbtn.on.res{background:var(--ok);border-color:var(--ok);}
  .stbtn.on.pen{background:var(--honey);border-color:var(--honey);color:#1B1B16;}
  .stbtn.on.ad{background:var(--info);border-color:var(--info);color:var(--ground);}
  .macros{display:flex;gap:6px;flex-wrap:wrap;padding:8px 13px;border-top:1px solid var(--line);background:var(--surface-2);}
  .macro{background:none;border:1px dashed var(--line-2);color:var(--muted);padding:4px 9px;font-size:.72rem;cursor:pointer;}
  .macro:hover{color:var(--honey);border-color:var(--honey);border-style:solid;}
  .msg.nota{background:transparent;border:1px dashed var(--honey);border-radius:4px;align-self:stretch;max-width:100%;color:var(--text);}
  .msg.nota .nl{display:block;font-family:var(--mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--honey);margin-bottom:4px;}
  .modo{display:flex;gap:0;border-bottom:1px solid var(--line);}
  .modo button{flex:0 0 auto;background:none;border:none;border-bottom:2px solid transparent;padding:8px 14px;font-size:.78rem;color:var(--muted);cursor:pointer;font-weight:500;}
  .modo button.on{color:var(--honey);border-bottom-color:var(--honey);font-weight:600;}
  .th-input.nota .fake-input{border-color:var(--honey);background:transparent;}

  /* portal do cliente */
  .portal{border:1px solid var(--line-2);background:var(--surface-2);padding:16px;}
  .pwrap{max-width:720px;margin:0 auto;background:var(--surface);border:1px solid var(--line);}
  .phead{padding:14px 16px;background:var(--pine);color:var(--ground);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
  .phead b{font-size:.95rem;}
  .phead span{font-family:var(--mono);font-size:.64rem;opacity:.85;}
  .psec{padding:13px 16px;border-bottom:1px solid var(--line);}
  .psec:last-child{border-bottom:none;}
  .psec .pt{font-family:var(--mono);font-size:.56rem;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);margin-bottom:8px;}
  .pitem{border:1px solid var(--line);padding:11px 13px;margin-bottom:8px;}
  .pitem:last-child{margin-bottom:0;}
  .pitem b{display:block;font-size:.88rem;font-weight:600;}
  .pitem .pm{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:6px;}
  .steps{display:flex;gap:0;margin-top:9px;flex-wrap:wrap;}
  .step{flex:1;min-width:62px;text-align:center;font-family:var(--mono);font-size:.56rem;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);padding-top:12px;position:relative;}
  .step::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--surface-3);}
  .step.done::before{background:var(--ok);}
  .step.now::before{background:var(--honey);}
  .step.now{color:var(--honey);font-weight:600;}
  .step.done{color:var(--ok);}

  .th-block{padding:13px;border-top:1px solid var(--line);background:var(--surface-2);border-left:3px solid var(--brick);}
  .th-block b{display:block;font-size:.86rem;font-weight:600;margin-bottom:4px;}
  .th-block span{display:block;font-size:.79rem;color:var(--muted);line-height:1.6;max-width:62ch;}
  .th-block .ba{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:10px;}
  .ctabs{display:flex;gap:2px;flex-wrap:wrap;margin-bottom:12px;}
  .ctab{background:var(--surface-2);border:1px solid var(--line);color:var(--muted);padding:7px 12px;font-size:.78rem;cursor:pointer;font-weight:500;}
  .ctab em{font-style:normal;font-family:var(--mono);font-size:.66rem;color:var(--faint);}
  .ctab:hover{color:var(--text);}
  .ctab.on{background:var(--surface);color:var(--honey);border-color:var(--honey);font-weight:600;}
  .ctab.on em{color:var(--honey);}
  .conv .cch{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:.57rem;letter-spacing:.05em;color:var(--faint);margin-top:3px;}
  .conv .cch i{width:6px;height:6px;border-radius:50%;display:block;flex:0 0 auto;}

  /* agenda */
  .cal{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .cal .dow{background:var(--surface-2);padding:6px 8px;font-family:var(--mono);font-size:.57rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);text-align:center;}
  .cal .day{background:var(--surface);min-height:86px;padding:6px;display:flex;flex-direction:column;gap:3px;}
  .cal .day.out{background:var(--surface-2);opacity:.5;}
  .cal .day.today{box-shadow:inset 0 0 0 2px var(--honey);}
  .cal .dn{font-family:var(--mono);font-size:.64rem;color:var(--faint);font-variant-numeric:tabular-nums;}
  .cal .ev{font-size:.66rem;padding:2px 4px;background:var(--surface-2);border-left:2px solid var(--pine);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .cal .ev.late{border-left-color:var(--brick);color:var(--brick);}
  .cal .ev.warn{border-left-color:var(--honey);}

  /* charts */
  .charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:15px;}
  .chartbox{border:1px solid var(--line);background:var(--surface);}
  .chartbox .cb{padding:12px 13px;}
  .chartbox svg{width:100%;height:auto;display:block;overflow:visible;}
  .lg{display:flex;gap:14px;flex-wrap:wrap;padding:0 13px 11px;font-family:var(--mono);font-size:.62rem;letter-spacing:.05em;color:var(--muted);}
  .lg span{display:flex;align-items:center;gap:6px;}
  .lg i{width:11px;height:11px;display:block;flex:0 0 auto;}
  .lg i.ref{height:0;border-top:2px dashed var(--viz-ref);width:14px;}
  #tip{position:fixed;z-index:90;pointer-events:none;background:var(--surface);border:1px solid var(--line-2);padding:7px 10px;font-size:.76rem;line-height:1.45;box-shadow:0 6px 18px rgba(0,0,0,.18);display:none;max-width:230px;}
  #tip b{display:block;font-weight:600;font-size:.8rem;}
  #tip span{color:var(--muted);font-family:var(--mono);font-size:.7rem;}

  /* toggle + módulos */
  .sw2{width:38px;height:21px;border-radius:11px;background:var(--surface-3);border:1px solid var(--line-2);position:relative;cursor:pointer;flex:0 0 auto;padding:0;transition:background .15s,border-color .15s;}
  .sw2 i{position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:var(--faint);display:block;transition:left .15s,background .15s;}
  .sw2[aria-pressed="true"]{background:var(--honey);border-color:var(--honey);}
  .sw2[aria-pressed="true"] i{left:19px;background:#FFF;}
  .fam{font-family:var(--mono);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);margin:16px 0 7px;}
  .mods{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);}
  .modr{background:var(--surface);padding:13px;display:flex;gap:13px;align-items:flex-start;}
  .modr .mi{flex:1;min-width:0;} .modr .mi b{display:block;font-size:.89rem;font-weight:600;}
  .modr .mi span{display:block;color:var(--muted);font-size:.79rem;line-height:1.5;margin-top:2px;}
  .modr .mp{font-family:var(--mono);font-size:.77rem;color:var(--pine);white-space:nowrap;font-variant-numeric:tabular-nums;flex:0 0 auto;text-align:right;}
  .modr.off{opacity:.5;} .modr.off .mp{color:var(--faint);}

  /* conexões */
  .conns{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:12px;}
  .conn{border:1px solid var(--line);background:var(--surface);}
  .conn.risk{border-color:var(--brick);}
  .connh{padding:10px 13px;border-bottom:1px solid var(--line);background:var(--surface-2);display:flex;justify-content:space-between;align-items:center;gap:9px;}
  .connh b{font-size:.86rem;font-weight:600;}
  .connb{padding:13px;display:flex;flex-direction:column;gap:9px;}
  .kv{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:.81rem;}
  .kv span{color:var(--faint);font-family:var(--mono);font-size:.61rem;letter-spacing:.08em;text-transform:uppercase;flex:0 0 auto;}
  .kv b{font-weight:600;font-variant-numeric:tabular-nums;text-align:right;}
  .qr{display:grid;grid-template-columns:repeat(21,1fr);width:138px;height:138px;margin:4px auto;background:#FFF;padding:7px;}
  .qr i{display:block;} .qr i.on{background:#111;}

  /* formulários / cadastros */
  .frm{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0;background:var(--surface);border:1px solid var(--line);border-right:0;border-bottom:0;}
  .fld{background:var(--surface);padding:11px 13px;display:flex;flex-direction:column;gap:5px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
  .fld label{font-family:var(--mono);font-size:.57rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);}
  .fld .v{border:1px solid var(--line);background:var(--surface-2);padding:6px 9px;font-size:.83rem;display:flex;justify-content:space-between;gap:8px;align-items:center;}
  .fld .v em{font-style:normal;color:var(--faint);font-family:var(--mono);font-size:.68rem;}
  .perm{display:grid;grid-template-columns:1.4fr repeat(4,minmax(58px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);min-width:520px;}
  .perm div{background:var(--surface);padding:8px 10px;font-size:.78rem;display:flex;align-items:center;}
  .perm .hd{background:var(--surface-2);font-family:var(--mono);font-size:.55rem;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);}
  .perm .c{justify-content:center;}
  .bx{width:15px;height:15px;border:1.5px solid var(--line-2);border-radius:2px;background:none;cursor:pointer;padding:0;position:relative;}
  .bx[aria-pressed="true"]{background:var(--ok);border-color:var(--ok);}
  .rule{border:1px solid var(--line);background:var(--surface);padding:12px 13px;display:flex;gap:12px;align-items:flex-start;margin-bottom:1px;}
  .rule .ri{flex:1;min-width:0;font-size:.84rem;}
  .rule .ri b{display:block;font-weight:600;margin-bottom:3px;}
  .rule .ri span{color:var(--muted);font-size:.78rem;line-height:1.55;display:block;}
  .rule .ri code{font-family:var(--mono);font-size:.72rem;color:var(--pine);background:var(--surface-2);padding:1px 5px;}

  /* login */
  .login{display:grid;place-items:center;min-height:520px;background:var(--surface-2);padding:24px;}
  .lcard{background:var(--surface);border:1px solid var(--line-2);width:100%;max-width:340px;padding:26px 24px;display:flex;flex-direction:column;gap:12px;}
  .lcard .lb{display:flex;align-items:center;gap:9px;font-weight:700;font-size:1.05rem;margin-bottom:6px;}
  .lcard .lb i{width:19px;height:19px;background:var(--honey);border-radius:4px;display:block;}
  .lcard p{margin:0;color:var(--muted);font-size:.82rem;}
  .lcard .li{border:1px solid var(--line);background:var(--surface-2);padding:8px 11px;font-size:.84rem;color:var(--faint);}
  .lcard .lbtn{background:var(--pine);color:var(--ground);border:none;padding:10px;font-weight:600;font-size:.85rem;cursor:pointer;}
  .lcard .lf{font-family:var(--mono);font-size:.63rem;color:var(--faint);text-align:center;letter-spacing:.05em;}

  .foot{max-width:1240px;margin:0 auto;padding:18px 24px 60px;font-family:var(--mono);font-size:.65rem;letter-spacing:.06em;color:var(--faint);text-transform:uppercase;line-height:1.8;}