/* Suporte, formulário simplificado e telas pequenas: estilos mantidos em um único módulo. */
#appView #adminVisitEditor[hidden] { display:none !important; }
#appView #adminVisitEditor { scroll-margin-top:16px; padding:12px 16px; }
#appView #adminVisitEditor .modal-card { position:static !important; inset:auto !important; transform:none !important; width:100% !important; max-width:none !important; height:auto !important; max-height:none !important; margin:0 !important; box-shadow:none !important; border:1px solid #bfd4e0; }
#appView #adminVisitEditor .modal-body { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:14px !important; height:auto !important; max-height:none !important; overflow:visible !important; padding:16px !important; }
#appView #adminVisitEditor .field { min-width:0; }
#appView #adminVisitEditor .field.full,
#appView #adminVisitEditor .field:has(.visit-responsibles) { grid-column:1 / -1; }
#appView #adminVisitEditor .field:has(#editVisitServiceType) { grid-column:auto; }
#appView #adminVisitEditor .modal-header { padding:14px 16px; background:transparent !important; border-bottom:1px solid #bfd4e0; }
#appView #adminVisitEditor .modal-header :is(h3,button) { color:#0b2f4a !important; }
#appView #adminVisitEditor .modal-actions { position:static !important; padding:14px 16px; display:flex !important; justify-content:flex-end; }
#appView #adminVisitEditor :is(input,select,textarea) { width:100%; box-sizing:border-box; }
#appView #adminVisitEditor input[type=checkbox] { width:18px !important; height:18px !important; min-height:18px !important; flex:none; }
#appView #adminVisitEditor .visit-responsibles { display:flex !important; flex-wrap:wrap; gap:16px; padding:12px; }
#appView #adminVisitEditor .check-option { display:flex; align-items:center; gap:8px; }
#appView #adminVisitEditor textarea { min-height:88px; resize:vertical; }
#appView #adminVisitEditor :is(label,small) { color:#355166 !important; }
#appView .admin-visit-feedback { margin:0 16px 14px; color:#12643c; font-weight:700; }
.visit-edit-backdrop { padding:16px; box-sizing:border-box; overflow:auto; }
.visit-edit-backdrop > .modal-card { width:min(1100px,100%) !important; max-width:1100px !important; max-height:calc(100dvh - 32px) !important; display:flex !important; flex-direction:column; margin:auto !important; }
.visit-edit-backdrop .modal-body { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; overflow-y:auto !important; min-height:0; }
.visit-edit-backdrop :is(.modal-header,.modal-actions) { flex:none; }
@media(max-width:1100px) {
  #appView #adminVisitEditor .modal-body { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media(max-width:600px) {
  #appView #adminVisitEditor { padding:8px; }
  #appView #adminVisitEditor .modal-body, .visit-edit-backdrop .modal-body { grid-template-columns:minmax(0,1fr) !important; }
  #appView #adminVisitEditor :is(input,select,textarea) { font-size:16px !important; min-height:44px; }
  #appView #adminVisitEditor .modal-actions-right { display:flex; flex-wrap:wrap; gap:8px; }
}
#appView #ticketForm[data-simple="true"] > .field:has(#openedBy),
#appView #ticketForm[data-simple="true"] > .field:has(#assignedTo),
#appView #ticketForm[data-simple="true"][data-expanded="false"] > .field:has(#priority),
#appView #ticketForm[data-simple="true"][data-expanded="false"] > .field:has(#requestType) { display:none !important; }
#appView #ticketForm #ticketAdvancedToggle[hidden] { display:none !important; }
#appView #ticketForm #ticketServiceTypeField[hidden] { display:none !important; }
#appView #ticketAdvancedToggle { flex:none; min-height:40px; margin-top:6px; }
.ticket-conversation { grid-column:1 / -1; min-width:0; padding:16px; margin:8px 0; border:1px solid #bdd8e7; border-radius:14px; background:#f5fafc; color:#143a51; }
.ticket-conversation h4 { margin:16px 0 10px; font-size:17px; }
.ticket-conversation summary { cursor:pointer; font-weight:700; padding:8px 0; }
.ticket-timeline { padding-left:22px; max-height:240px; overflow:auto; }
.ticket-timeline li { padding:8px 0; }
.ticket-timeline small, .ticket-message small { display:block; margin:4px 0; color:#476477; font-size:12px; }
.ticket-message p, .ticket-timeline p { white-space:pre-wrap; overflow-wrap:anywhere; margin:8px 0; }
.ticket-messages { max-height:320px; overflow:auto; overscroll-behavior:contain; padding:4px; }
.ticket-message { padding:12px; margin:8px 0; border:1px solid #d0e1ea; border-radius:10px; background:#fff; }
.ticket-message-form { display:grid; gap:8px; margin-top:14px; }
.ticket-message-form[hidden] { display:none; }
.ticket-message-form textarea { width:100%; min-height:90px; resize:vertical; padding:10px; border:1px solid #a9c9dc; border-radius:8px; font:inherit; background:#fff; color:#143a51; box-sizing:border-box; }
.ticket-message-form button { justify-self:start; min-height:44px; }
#ticketMessageStatus { font-size:13px; margin:8px 0 0; }
#ticketModal .modal-card { max-height:94dvh !important; display:flex !important; flex-direction:column !important; }
#ticketModal .modal-body { overflow-y:auto !important; min-height:0 !important; }
#ticketModal .modal-header, #ticketModal .modal-actions { flex:none; }
@media(max-width:900px) {
  html, body { min-width:0 !important; height:auto !important; overflow:auto !important; }
  #appView.app-shell:not(.hidden-app) { display:flex !important; flex-direction:column !important; width:100% !important; min-width:0 !important; height:auto !important; min-height:100dvh !important; padding:8px !important; box-sizing:border-box; }
  #appView.app-shell:not(.hidden-app) .side-menu { position:static !important; width:100% !important; min-width:0 !important; height:auto !important; padding:10px !important; box-sizing:border-box; }
  #appView.app-shell:not(.hidden-app) .side-brand { display:none !important; }
  #appView.app-shell:not(.hidden-app) .side-nav { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:8px !important; }
  #appView.app-shell:not(.hidden-app) .side-nav .side-nav-btn { width:100% !important; min-height:44px !important; height:auto !important; padding:10px !important; display:flex !important; gap:8px !important; justify-content:flex-start !important; }
  #appView.app-shell:not(.hidden-app) .side-nav .side-nav-btn span:not(.side-icon) { display:inline !important; font-size:12px !important; opacity:1 !important; }
  #appView.app-shell:not(.hidden-app) .side-nav [hidden] { display:none !important; }
  #appView.app-shell:not(.hidden-app) .side-nav .support-shortcut { margin-top:6px !important; min-width:0; }
  #appView.app-shell:not(.hidden-app) .side-footer { display:none !important; }
  #appView.app-shell:not(.hidden-app) .app-main { width:100% !important; min-width:0 !important; padding:0 !important; margin:0 !important; }
  #appView.app-shell:not(.hidden-app) .header { height:auto !important; min-height:0 !important; padding:16px !important; flex-wrap:wrap !important; gap:12px; }
  #appView.app-shell:not(.hidden-app) .header h1 { font-size:23px !important; }
  #appView.app-shell:not(.hidden-app) .header-right { width:100% !important; flex-wrap:wrap; justify-content:space-between; }
  #appView.app-shell:not(.hidden-app) .layout { display:grid !important; grid-template-columns:minmax(0,1fr) !important; height:auto !important; min-width:0 !important; }
  #appView.app-shell:not(.hidden-app) :is(.form-card,.content-area,.table-card,.table-wrap) { min-width:0 !important; width:100% !important; box-sizing:border-box; }
  #appView.app-shell:not(.hidden-app) .table-wrap { overflow-x:auto !important; -webkit-overflow-scrolling:touch; }
  #appView.app-shell:not(.hidden-app) #tab-operacao :is(.table-card,.table-wrap,.content-area) { height:auto !important; min-height:0 !important; max-height:none !important; }
  #appView.app-shell:not(.hidden-app) #tab-operacao .table-wrap table { width:1100px !important; min-width:1100px !important; table-layout:auto !important; }
  #appView.app-shell:not(.hidden-app) :is(.stats-grid.compact-stats.kpi-strip,.dashboard-kpi-grid) { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  #appView.app-shell:not(.hidden-app) :is(.filters-grid,.dashboard-executive-grid) { display:grid !important; grid-template-columns:minmax(0,1fr) !important; }
  #appView.app-shell:not(.hidden-app) #tab-operacao #ticketForm { height:auto !important; display:flex !important; flex-direction:column !important; gap:12px !important; padding:14px !important; }
  #appView.app-shell:not(.hidden-app) #tab-operacao #ticketForm :is(input,select) { min-height:44px !important; height:44px !important; font-size:16px !important; }
  #appView.app-shell:not(.hidden-app) #tab-operacao #ticketForm #description { min-height:130px !important; height:130px !important; flex:none !important; font-size:16px !important; }
  #ticketModal { padding:8px !important; }
  #ticketModal .modal-card { width:100% !important; min-width:0 !important; margin:0 !important; }
  #ticketModal .modal-body { display:block !important; padding:14px !important; }
  #ticketModal .modal-actions { flex-wrap:wrap; padding:12px; gap:10px; }
  #ticketModal :is(button,input,select,textarea) { font-size:16px !important; }
  #ticketModal button { min-height:44px; }
}

/* Atalhos de suporte e confirmação de abertura. */
#appView .support-shortcut { display:flex; align-items:center; gap:8px; padding:10px; border-radius:12px; background:#edf6fb; color:#074567; text-decoration:none; font-size:12px; font-weight:700; line-height:1.3; }
#appView .support-shortcut svg { width:22px; height:22px; flex:none; }
#appView .support-shortcut small { display:block; font-size:10px; font-weight:400; margin-top:3px; }
#appView.app-shell .side-nav .support-whatsapp { background:#25d366 !important; color:#063d23 !important; margin-top:28px; min-height:60px; padding:14px 10px; font-size:15px; font-weight:800; border:1px solid #1cb85a; box-shadow:0 3px 8px #075e5430; }
#appView.app-shell .side-nav .support-whatsapp span { color:#063d23 !important; }
#appView.app-shell .side-nav .support-whatsapp svg { width:28px; height:28px; color:#063d23 !important; }
#appView .support-shortcut:hover { filter:brightness(.95); }
#appView .support-shortcut:focus-visible { outline:3px solid #168dc1; outline-offset:2px; }
#appView .support-download { width:22px; text-align:center; font-size:24px; }
#appView .support-remote { background:#076b9b; color:#fff; border:1px solid #159bcc; padding:13px 10px; box-shadow:0 3px 8px #06436726; }
#appView .support-remote strong { display:block; font-size:15px; font-weight:800; }
#appView .support-remote small { color:#e1f4ff; font-size:11px; }
#appView.app-shell .side-nav .support-remote,
#appView.app-shell .side-nav .support-remote :is(span,strong,small) { color:#fff !important; }
#appView .ticket-whatsapp-notice { flex:none; margin:0 10px 10px; padding:10px; border:1px solid #8cd5ab; border-radius:12px; background:#f1fff6; display:grid; gap:8px; font-size:12px; }
#appView .ticket-whatsapp-notice[hidden] { display:none; }
#appView .ticket-whatsapp-notice small { color:#355d48; }

