/* /telefonia-microsoft-teams/ — app OmniSmart para Microsoft Teams (webphone). */
.tm-section{padding-top:88px;padding-bottom:88px;scroll-margin-top:80px}
.tm-soft{background:#f5f6fa;border-top:1px solid #edeff6;border-bottom:1px solid #edeff6}
.tm-head{max-width:760px}
.tm-head h2{font-size:38px;line-height:1.08;margin:14px 0 0;color:#17162b}
.tm-head p{font-size:18px;line-height:1.6;color:#5a6178;margin:16px 0 0}
.tm-center{margin-left:auto;margin-right:auto;text-align:center}
.tm-center .eyebrow{justify-content:center}

/* Answer-first summary (AEO) */
.tm-answer{background:#fff;border:1px solid #e6e1f5;border-left:4px solid #2f1c67;border-radius:8px;padding:24px 26px;max-width:880px;margin:0 auto}
.tm-answer-label{font:800 11px "Nunito Sans";letter-spacing:.1em;text-transform:uppercase;color:#2f1c67;display:flex;align-items:center;gap:7px;margin-bottom:12px}
.tm-answer p{font-size:17px;line-height:1.65;color:#2f3550}
.tm-facts{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.tm-facts li{font-size:14.5px;line-height:1.5;color:#454b63;padding-left:26px;position:relative}
.tm-facts .msym{position:absolute;left:0;top:0;font-size:18px;color:#16a34a}

/* Teams window mockup */
.tm-teams{position:relative;background:#fff;border:1px solid #dfe3ef;border-radius:12px;box-shadow:0 40px 80px rgba(20,25,50,.18);overflow:hidden}
.tm-teams-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid #edeff6;background:#fbfbfd}
.tm-teams-bar i{width:9px;height:9px;border-radius:50%;background:#dfe3ef;display:block}
.tm-teams-bar b{margin-left:12px;font:700 12px "Nunito Sans";color:#5a6178}
.tm-teams-body{display:grid;grid-template-columns:74px 1fr;min-height:330px}
.tm-rail{background:#f1f2f8;display:flex;flex-direction:column;align-items:center;gap:16px;padding:18px 0}
.tm-rail .msym{font-size:22px;color:#8a90a8}
.tm-rail-app{display:flex;flex-direction:column;align-items:center;gap:5px}
.tm-rail-app span.tm-rail-icon{width:44px;height:44px;border-radius:10px;background:#2f1c67;display:flex;align-items:center;justify-content:center}
.tm-rail-app span.tm-rail-icon .msym{color:#fff}
.tm-rail-app small{font:800 9.5px "Nunito Sans";color:#2f1c67}
.tm-chat{padding:20px 22px}
.tm-chat h3{font:800 14px Poppins;color:#17162b;margin:0 0 16px}
.tm-line{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.tm-line i{width:30px;height:30px;border-radius:50%;background:#e4e7f1;flex:none;display:block}
.tm-line span{display:block;height:9px;border-radius:5px;background:#e9ebf3}
.tm-line span+span{margin-top:6px;background:#f1f2f7}
.tm-teams .tm-phone{position:absolute;right:16px;bottom:16px;width:min(290px,78%)}

/* Webphone */
.tm-phone{background:#fff;border:1px solid #dfe3ef;border-radius:12px;overflow:hidden;box-shadow:0 22px 44px rgba(20,25,50,.16);display:flex;flex-direction:column}
.tm-phone.is-ring{border:2px solid #2f1c67}
.tm-phone-top{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#17162b;color:#fff;padding:10px 14px;font:800 12px "Nunito Sans"}
.tm-phone-top em{font-style:normal;color:#8ef5b8;font-weight:700;white-space:nowrap}
.tm-phone-body{padding:16px;flex:1;display:flex;flex-direction:column}
.tm-kicker{font:800 10.5px "Nunito Sans";letter-spacing:.08em;text-transform:uppercase;color:#2f1c67;display:flex;align-items:center;gap:6px}
.tm-kicker.is-wa{color:#0f7a4f}
.tm-name{display:block;font:800 18px Poppins;color:#17162b;margin-top:4px}
.tm-num{display:block;font:600 13px "Nunito Sans";color:#5a6178;margin-top:2px}
.tm-actions{display:flex;gap:8px;margin-top:auto;padding-top:16px}
.tm-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;padding:11px 10px;font:800 13.5px "Nunito Sans";color:#fff;background:#0f7a4f}
.tm-btn.is-end{background:#b42318}
.tm-btn.is-ghost{flex:0 0 42px;background:#fff;border:1px solid #dfe3ef;color:#3a4059;padding:10px 0}
.tm-btn .msym{font-size:17px}
.tm-idle{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;min-height:120px}
.tm-dot{width:12px;height:12px;border-radius:50%;background:#16a34a;display:block;box-shadow:0 0 0 5px rgba(22,163,74,.14)}
.tm-idle b{font:800 18px Poppins;color:#17162b}
.tm-idle small{font:600 13px "Nunito Sans";color:#5a6178}

/* Compact states */
.tm-states{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.tm-state .tm-phone{min-height:236px}
.tm-state h3{font:800 18px Poppins;color:#17162b;margin:18px 0 0}
.tm-state p{font-size:15px;line-height:1.55;color:#5a6178;margin:6px 0 0}
.tm-perks{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.tm-perk{background:#fff;border:1px solid #e6e8f2;border-radius:8px;padding:22px}
.tm-perk .msym{font-size:26px;color:#2f1c67}
.tm-perk h3{font:800 17px Poppins;color:#17162b;margin:12px 0 0}
.tm-perk p{font-size:15px;line-height:1.55;color:#5a6178;margin:6px 0 0}

/* Expanded view */
.tm-expanded{margin-top:44px}
.tm-expanded .tm-phone-body{display:grid;grid-template-columns:.92fr 1.08fr;padding:0}
.tm-contact{padding:22px;border-right:1px solid #edeff6}
.tm-who{display:flex;align-items:center;gap:12px}
.tm-avatar{width:46px;height:46px;border-radius:50%;background:#eeeafd;color:#2f1c67;font:800 15px Poppins;display:flex;align-items:center;justify-content:center;flex:none}
.tm-meta{margin:18px 0 0;display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:14px}
.tm-meta dt{color:#5a6178}
.tm-meta dd{margin:0;text-align:right;font-weight:800;color:#17162b;min-width:0;overflow-wrap:anywhere}
.tm-hist{margin-top:18px;padding-top:16px;border-top:1px solid #edeff6}
.tm-hist h4{font:800 11px "Nunito Sans";letter-spacing:.08em;text-transform:uppercase;color:#5a6178;margin:0 0 10px}
.tm-hist ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.tm-hist li{font-size:13.5px;line-height:1.45;color:#5a6178}
.tm-hist li b{color:#17162b}
.tm-dial{padding:22px}
.tm-display{background:#f5f6fa;border:1px solid #e6e8f2;border-radius:8px;padding:12px 14px;font:800 19px Poppins;color:#17162b}
.tm-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.tm-keys>span{border:1px solid #e6e8f2;border-radius:8px;padding:9px 0;text-align:center;font:800 16px Poppins;color:#17162b;background:#fff}
.tm-call{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.tm-btn.is-outline{background:#fff;color:#0f7a4f;border:2px solid #0f7a4f}
.tm-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.tm-chips>span{border:1px solid #e6e8f2;border-radius:8px;padding:8px 4px;text-align:center;font:800 11.5px "Nunito Sans";color:#17162b;display:flex;flex-direction:column;align-items:center;gap:3px}
.tm-chips .msym{font-size:18px;color:#2f1c67}
.tm-channels{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 26px;margin-top:40px}
.tm-channels h3{font:800 17px Poppins;color:#17162b;margin:0;display:flex;align-items:center;gap:8px}
.tm-channels h3 .msym{font-size:20px;color:#2f1c67}
.tm-channels p{font-size:15px;line-height:1.55;color:#5a6178;margin:6px 0 0}

/* Reasons */
.tm-reasons{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:40px}
.tm-reason{background:#fff;border:1px solid #e6e8f2;border-radius:8px;padding:26px;display:flex;gap:16px}
.tm-reason>.msym{flex:none;width:46px;height:46px;border-radius:10px;background:#eeeafd;color:#2f1c67;font-size:24px;display:flex;align-items:center;justify-content:center}
.tm-reason h3{font:800 19px Poppins;color:#17162b;margin:0}
.tm-reason p{font-size:15.5px;line-height:1.6;color:#5a6178;margin:6px 0 0}

/* Two paths table */
.tm-table-wrap{margin-top:36px;overflow-x:auto;border:1px solid #e6e8f2;border-radius:8px;background:#fff}
.tm-table{width:100%;min-width:720px;border-collapse:collapse;font-size:15px}
.tm-table caption{text-align:left;padding:16px 20px;font:700 13px "Nunito Sans";color:#5a6178;caption-side:bottom;border-top:1px solid #edeff6}
.tm-table th,.tm-table td{padding:15px 20px;text-align:left;vertical-align:top;border-bottom:1px solid #edeff6;line-height:1.5;color:#3a4059}
.tm-table thead th{font:800 14px Poppins;color:#17162b;background:#fbfbfd}
.tm-table thead th.is-pick{background:#2f1c67;color:#fff}
.tm-table tbody th{font:800 14px "Nunito Sans";color:#17162b;width:24%}
.tm-table td.is-pick{background:#f7f5ff;color:#17162b;font-weight:700}

/* Steps */
.tm-steps{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:tm}
.tm-steps li{counter-increment:tm;background:#fff;border:1px solid #e6e8f2;border-radius:8px;padding:26px}
.tm-steps li::before{content:counter(tm);display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#2f1c67;color:#fff;font:800 17px Poppins}
.tm-steps h3{font:800 18px Poppins;color:#17162b;margin:16px 0 0}
.tm-steps p{font-size:15px;line-height:1.55;color:#5a6178;margin:6px 0 0}

/* Checklist */
.tm-check{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 28px;list-style:none;margin:28px 0 0;padding:0}
.tm-check li{font-size:16px;line-height:1.55;color:#3a4059;padding-left:30px;position:relative}
.tm-check .msym{position:absolute;left:0;top:1px;font-size:20px;color:#2f1c67}
.tm-legal{font:600 12px "Nunito Sans";color:#8a90a8;line-height:1.6;margin-top:28px}

@media(max-width:960px){
  .tm-section{padding-top:64px;padding-bottom:64px}
  .tm-head h2{font-size:31px}
  .tm-states,.tm-perks,.tm-steps{grid-template-columns:1fr 1fr}
  .tm-channels{grid-template-columns:1fr 1fr}
  .tm-expanded .tm-phone-body{grid-template-columns:minmax(0,1fr)}
  .tm-contact{border-right:0;border-bottom:1px solid #edeff6}
}
@media(max-width:640px){
  .tm-head h2{font-size:27px}
  .tm-states,.tm-perks,.tm-steps,.tm-channels,.tm-reasons,.tm-facts,.tm-check{grid-template-columns:1fr}
  .tm-teams-body{grid-template-columns:56px 1fr;min-height:360px}
  .tm-chat{padding:16px}
  .tm-teams .tm-phone{right:10px;bottom:10px;width:calc(100% - 76px)}
  .tm-reason{padding:20px}
}
@media(max-width:420px){
  .tm-contact,.tm-dial{padding:16px}
  .tm-chips{grid-template-columns:repeat(2,1fr)}
  .tm-call{grid-template-columns:1fr}
}
