.attachment-preview{display:flex;gap:8px;padding:8px 10px;background:#132721;color:#c8e8df;font-size:13px;overflow-x:auto;min-height:58px}
.attachment-item{position:relative;display:flex;align-items:center;gap:7px;flex:0 0 auto;max-width:180px;border:1px solid var(--line);border-radius:10px;background:#0d1d19;padding:5px 26px 5px 5px}
.attachment-item img{width:42px;height:42px;border-radius:7px;object-fit:cover}
.attachment-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attachment-item button{position:absolute;right:3px;top:3px;width:22px;height:22px;border:0;border-radius:50%;background:#2a3935;color:var(--text)}
.send:disabled{opacity:.55}
.send.sending{font-size:0}
.send.sending::after{content:"";display:block;width:17px;height:17px;margin:auto;border:2px solid #063126;border-top-color:transparent;border-radius:50%;animation:send-spin .7s linear infinite}
@keyframes send-spin{to{transform:rotate(360deg)}}

/* Ajustes do WebView do iPhone: acompanha a altura e também o deslocamento do
   visual viewport. O WebKit move o viewport ao focar um campo; compensar só a
   altura fazia o chat subir duas vezes e deixava um grande espaço vazio. */
body{height:var(--app-height,100dvh);transform:translateY(var(--app-offset-top,0px));transform-origin:top left;will-change:height,transform}
.app,.screen{height:100%;min-height:0}
.login{min-height:100%}
.screen{overflow:hidden}
.top{flex:0 0 auto}
.filters{flex:0 0 auto;min-height:48px;padding-bottom:8px}
.filters button{display:flex;align-items:center;justify-content:center;min-height:38px;line-height:1.1}
.search{flex:0 0 auto;position:relative;z-index:1;margin-top:0}
.conversation-list{flex:1;min-height:0;-webkit-overflow-scrolling:touch}
.support-channel{display:inline-block;margin-right:5px;border-radius:999px;background:#173630;color:#8fdac8;padding:1px 5px;font-size:10px;font-style:normal;font-weight:750;line-height:15px;vertical-align:1px}
.chat-head,.bia-state,.composer{flex:0 0 auto}
.messages{min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.composer{padding-bottom:calc(env(safe-area-inset-bottom) + 8px)}
.keyboard-open .composer{padding-bottom:8px}
.back-messages{flex:0 0 auto;height:40px;padding:0 7px;border:0;background:transparent;color:#7ff5d5;font-weight:750;font-size:14px}
.chat-head .avatar{width:40px;height:40px}
.avatar{position:relative;isolation:isolate;overflow:hidden}
.avatar>span{position:relative;z-index:0}
.avatar>img{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover;background:#24443c}
.message-row.failed .bubble{outline:1px solid #9c4650}
.message-row.failed time{color:#ff8c96}
.delivery-failure{display:block;margin-top:7px;color:#ff9ca5;font-size:11px;line-height:1.3}
.failed-template-action{display:block;width:100%;margin-top:7px;border:1px solid #8d5158;border-radius:8px;background:#341d21;color:#ffc3c8;padding:8px;text-align:center;font-size:12px;font-weight:750}
.delivery-window{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid #5a4828;background:#2c2414;color:#f2d687;font-size:11px;line-height:1.25}
.delivery-window span{flex:1}.delivery-window button{flex:0 0 auto;border:1px solid #806b39;border-radius:8px;background:#443719;color:#ffe7a8;padding:7px 9px;font-size:11px;font-weight:750}
@media(max-width:390px){.back-messages{font-size:0}.back-messages::before{content:"‹";font-size:28px}.chat-head{gap:5px}}
@media(max-height:700px){.bia-state{padding-block:4px}}
.sheet-help{margin:-4px 5px 14px;color:var(--muted);font-size:13px;line-height:1.35}
.template-sheet{max-height:92%;display:flex;flex-direction:column}
.template-sheet form{min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}
.template-sheet label{display:block;margin:9px 2px;color:var(--muted);font-size:12px}
.template-sheet select,.template-sheet input{display:block;width:100%;min-height:44px;margin-top:6px;border:1px solid var(--line);border-radius:11px;background:#0b1916;color:var(--text);padding:10px;font-size:16px}
.template-preview{margin:10px 2px;border:1px solid #31584e;border-radius:12px;background:#0b1916;padding:11px;color:#dcebe7;font-size:13px;line-height:1.4;white-space:pre-wrap}
.template-params-mobile{display:grid;gap:4px}
.template-sheet .primary-sheet-action{border:0;border-radius:11px;background:var(--green);color:#042019;text-align:center;font-weight:800;margin:10px 0}
.template-sheet .primary-sheet-action:disabled{opacity:.55}
.template-error{flex:0 0 auto;min-height:18px;margin:5px 3px;color:#ff9ca5;font-size:12px;line-height:1.35}
.follow-up-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.follow-up-presets button{border:1px solid var(--line);border-radius:10px;padding:11px 8px;text-align:center;color:#baffed;background:#132721}
.reschedule-presets{grid-template-columns:repeat(3,1fr)}
.follow-up-sheet form label{display:block;margin:11px 0;color:var(--muted);font-size:13px}
.follow-up-sheet input,.follow-up-sheet textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:11px;background:#0b1916;color:var(--text);padding:11px;font-size:16px;resize:none}
.follow-up-sheet .primary-sheet-action{border:0;border-radius:11px;background:var(--green);color:#042019;text-align:center;font-weight:800;margin-top:8px}
.follow-up-sheet .primary-sheet-action:disabled{opacity:.55}
.upcoming-title{margin:18px 4px 4px;color:var(--muted);font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
.upcoming-follow-up{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding:11px 4px}
.upcoming-follow-up>div{flex:1;min-width:0}.upcoming-follow-up strong,.upcoming-follow-up small{display:block}.upcoming-follow-up strong{font-size:14px}.upcoming-follow-up small{color:var(--muted);margin-top:4px}
.upcoming-follow-up .follow-up-row-actions{display:flex;gap:4px}.upcoming-follow-up button{width:36px;border:0;color:var(--danger);font-size:20px;text-align:center;padding:8px}.upcoming-follow-up button.complete{color:var(--brand)}.upcoming-follow-up button.reschedule{color:#ffd36b}
.empty-follow-up{padding:13px 4px;color:var(--muted);font-size:13px;border-top:1px solid var(--line)}
.bia-reply{color:#d5c3ff;background:#292345!important}.bia-replies-sheet{max-height:88dvh}
.bia-option{border:1px solid #34423f;border-radius:12px;background:#0b1916;padding:12px;margin:9px 0}.bia-option>div{display:flex;align-items:center;gap:8px}.bia-option strong{font-size:14px}.bia-option small{color:#b9a6e9}.bia-option p{margin:10px 0;line-height:1.42;white-space:pre-wrap}.bia-option button{border:0;border-radius:9px;background:#214a40;color:#baffed;text-align:center;padding:10px;font-weight:750}
.installment-sheet{max-height:92%;display:flex;flex-direction:column}
.installment-sheet form{flex:0 0 auto}
.installment-sheet form label{display:block;margin:8px 0 10px;color:var(--muted);font-size:13px}
.installment-sheet input{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:11px;background:#0b1916;color:var(--text);padding:12px;font-size:18px}
.installment-sheet .primary-sheet-action{border:0;border-radius:11px;background:var(--green);color:#042019;text-align:center;font-weight:800;margin:8px 0}
.installment-sheet .primary-sheet-action:disabled{opacity:.5}
.installment-warning{flex:0 0 auto;margin:8px 3px 10px;color:#cbdad6;font-size:12px;line-height:1.4}
.mobile-installment-table{min-height:120px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#0b1916;-webkit-overflow-scrolling:touch}
.mobile-installment-row{display:grid;grid-template-columns:42px 58px 1fr auto;align-items:center;gap:7px;padding:9px;border-bottom:1px solid var(--line);font-size:13px}
.mobile-installment-row:last-child{border-bottom:0}
.mobile-installment-row.header{position:sticky;top:0;z-index:1;background:#162923;color:var(--muted);font-size:11px;font-weight:750}
.mobile-installment-row .amount{font-weight:800;color:#dffbf3}
.mobile-installment-row button{width:auto;border:1px solid #31584e;border-radius:8px;background:#163a31;color:#9affdf;padding:7px 9px;text-align:center;font-size:12px}
.iphone-evaluation-sheet{max-height:92%;display:flex;flex-direction:column}
.iphone-evaluation-sheet form,.iphone-evaluation-result{min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}
.iphone-evaluation-selects{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:9px}
.iphone-evaluation-selects label{display:block;color:var(--muted);font-size:12px}
.iphone-evaluation-selects select{display:block;width:100%;min-height:44px;margin-top:6px;border:1px solid var(--line);border-radius:11px;background:#0b1916;color:var(--text);padding:10px;font-size:15px}
.iphone-evaluation-base{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;border:1px solid #31584e;border-radius:12px;background:#10231e;padding:12px;color:var(--muted);font-size:13px}
.iphone-evaluation-base strong{color:#9affdf;font-size:20px}
.iphone-evaluation-title{margin:4px 2px 2px;color:#e3f6f0;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.iphone-evaluation-help{margin:0 2px 8px;color:var(--muted);font-size:11px;line-height:1.35}
.iphone-evaluation-faults{display:grid;gap:7px}
.iphone-evaluation-option{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);border-radius:11px;background:#0b1916;padding:10px}
.iphone-evaluation-option:has(input:checked){border-color:#36b896;background:#12352c}
.iphone-evaluation-option:has(input:disabled){opacity:.5}
.iphone-evaluation-option input{flex:0 0 auto;width:19px;height:19px;margin:1px 0;accent-color:var(--green)}
.iphone-evaluation-option span,.iphone-evaluation-option strong,.iphone-evaluation-option small{display:block}
.iphone-evaluation-option span{min-width:0}.iphone-evaluation-option strong{font-size:13px}.iphone-evaluation-option small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.3}
.iphone-evaluation-bonus{margin:9px 0;border-color:#5d5132;background:#272114}
.iphone-evaluation-bonus:has(input:checked){border-color:#d6af4a;background:#342b16}
.iphone-evaluation-sheet .primary-sheet-action{border:0;border-radius:11px;background:var(--green);color:#042019;text-align:center;font-weight:800;margin:10px 0}
.iphone-evaluation-sheet .primary-sheet-action:disabled{opacity:.55}
.iphone-evaluation-error{flex:0 0 auto;min-height:18px;margin:5px 3px;color:#ff9ca5;font-size:12px}
.iphone-evaluation-result-model{color:var(--muted);font-size:13px;text-align:center}
.iphone-evaluation-result-label{margin-top:8px;color:var(--muted);font-size:12px;text-align:center}
.iphone-evaluation-result-value{margin:3px 0 14px;color:#9affdf;font-size:30px;font-weight:850;text-align:center}
.iphone-evaluation-summary{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#0b1916}
.iphone-evaluation-summary>div{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border-bottom:1px solid var(--line);font-size:12px}
.iphone-evaluation-summary>div:last-child{border-bottom:0;font-weight:800}
.iphone-evaluation-warning{margin-top:9px;border:1px solid #66562f;border-radius:10px;background:#302712;padding:9px;color:#f4d77f;font-size:11px;line-height:1.35}
.iphone-evaluation-result-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:8px;margin-top:12px}
.iphone-evaluation-result-actions button{border:1px solid #31584e;border-radius:10px;background:#163a31;color:#9affdf;padding:11px 8px;text-align:center;font-weight:750}
.iphone-evaluation-result-actions button:last-child{border:0;background:var(--green);color:#042019}
@media(max-width:360px){.iphone-evaluation-selects{grid-template-columns:1fr}}
@media(min-width:760px){.app{height:min(900px,100%)}.installment-sheet,.iphone-evaluation-sheet{max-width:430px}}
