@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)){--green:#b5eb92;--green-2:#315537;--muted:#8fa999;--text:#edf5ee;background:radial-gradient(ellipse at 80% 0,#24533825,transparent 55%),#091511!important;font-family:'DM Sans',sans-serif!important;color:#edf5ee}
body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)):after{display:none}
body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar{height:83px;background:#091511f5;border-bottom:1px solid #c5e5cc16;padding:0 max(30px,calc((100vw - 1310px)/2));gap:50px;backdrop-filter:blur(15px)}
body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .brand{font-size:13px;gap:13px}.brand-logo-small{object-fit:contain}
body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .admin-nav{border:0;background:none;gap:25px;padding:0;height:100%;align-items:center}
body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .admin-nav-button{background:none!important;border:0!important;border-bottom:2px solid transparent!important;height:100%;border-radius:0;color:#8fa99a!important;padding:0 3px;box-shadow:none;font-size:12px}
body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .admin-nav-button.active{color:#b5eb92!important;border-bottom-color:#b5eb92!important}
#adminApp,#clientApp{max-width:1370px;margin:auto;padding:38px 30px 65px}
.lf-page-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.lf-page-intro p{font-size:9px;letter-spacing:.18em;color:#82a08b;margin:0 0 10px}.lf-page-intro h1,#clientApp>.page-heading h1{font:600 29px Manrope;letter-spacing:-.045em;margin:0 0 9px}.lf-page-intro span,#clientSessionLabel{color:#87a393;font-size:12px}.lf-live-state{font-size:10px;color:#9db591;font-weight:400;display:inline-flex;gap:7px;align-items:center}.lf-live-state:before{content:'';width:5px;height:5px;background:#b5eb92;border-radius:50%}
#adminApp>.page-heading{display:block;margin:0 0 29px}.admin-heading-copy{display:none!important}
#adminMetrics{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;width:100%}
#adminMetrics article,#clientDashboardStats article,.lf-client-stats article{border:1px solid #c5e5cc16!important;border-radius:13px;background:linear-gradient(140deg,#1b302442,#11201980)!important;padding:19px 20px;min-height:125px;box-shadow:none!important;position:relative}
#adminMetrics article:before{display:none!important}#adminMetrics article span,#clientDashboardStats article span,.lf-client-stats span{font-size:11px;color:#9ab1a2;font-weight:400}#adminMetrics article strong,#clientDashboardStats article strong,.lf-client-stats strong{display:block;font:600 32px Manrope;letter-spacing:-.04em;color:#edf5ee;margin-top:16px}#adminMetrics article:after{position:absolute;right:17px;top:17px;display:grid;place-items:center;width:24px;height:24px;border-radius:7px;font-size:12px;content:'\2197';background:#8dbcf414;color:#8dbcf4}#adminMetrics article:nth-child(2):after{content:'\25F7';background:#b9a3f414;color:#b9a3f4}#adminMetrics article:nth-child(3):after{content:'!';background:#fa8d8314;color:#fa8d83}#adminMetrics article:nth-child(4):after{content:'\2161';background:#e9c07914;color:#e9c079}#adminMetrics article:nth-child(5):after{content:'\2713';background:#b5eb9215;color:#b5eb92}#adminMetrics article.active{border-color:#b5eb9266!important}
#adminTicketsPanel,#clientTicketsPanel{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0}
#adminTicketsPanel>.panel-header{display:flex;flex-direction:column-reverse;align-items:stretch;gap:24px;margin-bottom:15px;padding:0;background:none!important;border:0!important}
#adminTicketsPanel>.panel-header>div:first-child{display:flex;justify-content:space-between;align-items:center}#adminTicketsPanel>.panel-header h2,#clientTicketsPanel h2{font:600 15px Manrope;margin:0;color:#edf5ee}#adminTicketsPanel>.panel-header .eyebrow{display:none}#adminListInfo{font-size:10px;color:#87a393;margin:0}
#adminTicketsPanel .toolbar{display:flex;flex-wrap:wrap;gap:10px;border:1px solid #c5e5cc16;border-radius:13px;padding:17px;background:#14241c7a;width:100%;margin:0}#adminSearch{flex:1 1 270px}#adminTicketsPanel .toolbar select{flex:1 1 140px;width:auto;min-width:0}#adminTicketsPanel .toolbar input,#adminTicketsPanel .toolbar select,.lf-client-search input{height:40px!important;min-height:40px!important;background:#09181180!important;border:1px solid #b0d5b922!important;color:#b3c8ba!important;border-radius:7px!important;font-size:11px!important;padding:0 12px!important}
#adminTicketsPanel .toolbar button{background:#b5eb92!important;color:#1a311c!important;border:0!important;min-height:40px;height:40px;font-size:10px;border-radius:7px;box-shadow:none;font-weight:700}
.panel-divider{display:none}.lf-list-heading{display:grid;grid-template-columns:minmax(230px,2fr) 1fr 1fr 1fr 110px;gap:20px;padding:15px 22px;background:#1b302340;border:1px solid #c5e5cc16;border-radius:12px 12px 0 0;font-size:9px;letter-spacing:.08em;color:#72917c;text-transform:uppercase}
#adminTickets,#clientTickets{display:block!important;gap:0!important;border:1px solid #c5e5cc16;border-radius:0 0 12px 12px;overflow:hidden;background:#10201988}
#clientTickets{border-radius:12px}
#adminTickets>.ticket-card,#clientTickets>.ticket-card{padding:0!important;border:0!important;border-bottom:1px solid #c5e5cc16!important;border-left:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;display:block!important;margin:0!important}
#adminTickets>.ticket-card:last-child,#clientTickets>.ticket-card:last-child{border-bottom:0!important}.lf-compact-row{display:grid;grid-template-columns:minmax(230px,2fr) 1fr 1fr 1fr 110px;align-items:center;gap:20px;padding:24px 22px;transition:background .2s}.lf-compact-row:hover{background:#a3d98c06}.lf-protocol{font-size:9px;color:#6f8f79;letter-spacing:.02em}.lf-compact-row h3{font-size:14px;font-weight:600;color:#edf5ee;margin:9px 0 7px;line-height:1.5}.lf-compact-row p{font-size:10px;color:#86a48e;margin:0;line-height:1.6}.lf-row-technician{color:#b7cbbd;font-size:11px}.lf-row-date{font-size:10px;color:#9ab6a1}.lf-row-date small{display:block;color:#65816d;font-size:9px;margin-top:6px}.lf-row-status{display:flex;gap:7px;flex-direction:column;align-items:start}.lf-row-status .ticket-status{font-size:9px;padding:6px 9px;border-radius:30px;white-space:nowrap}.lf-compact-row .details-action{font-size:10px;padding:9px 10px;min-height:33px;background:#b5eb9207!important;border:1px solid #b5eb9220!important;box-shadow:none;color:#b3cba5!important;width:auto!important;margin:0!important}.lf-row-status .new-reply-badge{font-size:8px;padding:4px 7px}
#adminTickets>.ticket-card>.ticket-main,#adminTickets>.ticket-card>.ticket-admin-actions,#clientTickets>.ticket-card>.ticket-main{display:none!important}
#clientApp>.page-heading{margin-bottom:28px}#clientApp>.page-heading .eyebrow{font-size:9px;letter-spacing:.17em}#newTicketToggle{background:#b5eb92!important;color:#1a311c!important;border:0!important;box-shadow:none;min-height:40px;font-size:11px;font-weight:700;border-radius:8px;padding:0 18px}
.lf-client-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 28px}.lf-client-stats small,#clientDashboardStats small{display:block;font-size:10px;color:#6f8d7a;margin-top:8px}#clientPortalPanel{display:none!important}.lf-client-search{border:1px solid #c5e5cc16;border-radius:12px;padding:17px;background:#14241c7a;margin:20px 0}.lf-client-search input{width:100%}#clientTicketsPanel .eyebrow{display:none}#clientTicketsPanel .panel-header{padding:0;background:none;border:0}#refreshClientBtn{min-height:35px;font-size:10px}
#ticketDialog{position:fixed!important;inset:0 0 0 auto!important;margin:0!important;height:100dvh!important;max-height:100dvh!important;width:570px!important;max-width:100%!important;border:0!important;border-left:1px solid #b5eb9230!important;border-radius:0!important;background:#10221a!important;color:#edf5ee!important;padding:0!important;box-shadow:-30px 0 80px #0004!important}
#ticketDialog::backdrop{background:#0008;backdrop-filter:blur(3px)}#ticketDialog .dialog-header{position:sticky;top:0;z-index:2;background:#10221af5!important;border-bottom:1px solid #b5eb9218;padding:22px 26px}#ticketDialog .dialog-header h2{font:600 17px Manrope}#ticketDialog .dialog-header .eyebrow{font-size:9px;margin:0 0 6px}#ticketDialog .dialog-header .eyebrow:before{display:none}#ticketDialog .dialog-body{display:flex;flex-direction:column;gap:20px;padding:24px 26px}#ticketDialog .dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}#ticketDialog .dialog-section{border:1px solid #b5eb9218!important;border-radius:10px;background:#0b1a1380!important;padding:16px}#ticketDialog .dialog-section h3{font-size:11px!important;color:#afc6ae!important;margin:0 0 13px}#ticketDialog .dialog-section p{font-size:11px!important;line-height:1.7;color:#92ad99!important}#ticketDialog .conversation-section{order:-1}#ticketDialog .chat-thread{max-height:40dvh;overflow:auto;overscroll-behavior:contain;padding:3px;scrollbar-width:thin}#ticketDialog .message-bubble{max-width:92%;border:1px solid #b5eb921b;background:#1c3427!important;border-radius:12px;padding:12px;margin-bottom:12px}#ticketDialog .client-message{margin-left:auto;background:#2c4230!important}#ticketDialog .message-bubble strong{font-size:9px!important;color:#b5d3ac!important}#ticketDialog .message-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;color:#e3ecdf!important;margin:7px 0 0!important;font-size:12px!important}
#ticketDialog textarea,#ticketDialog input,#ticketDialog select{background:#09181180!important;border:1px solid #b0d5b930!important;border-radius:8px!important;color:#d0dfcf!important;font-size:12px!important}#ticketDialog label{font-size:11px!important}#ticketDialog .primary-button{background:#b5eb92!important;color:#19301b!important;font-size:11px;min-height:40px;box-shadow:none}#ticketDialog .ticket-admin-actions{width:100%!important;border:0!important;padding:0!important;background:transparent!important;display:grid;gap:10px}#ticketDialog .ticket-admin-actions label{margin:0!important}#ticketDialog .delete-ticket-action{margin-top:12px}#ticketDialog .comment-form{gap:10px}#ticketDialog .comment-form label{margin:10px 0!important}#ticketDialog .secondary-button{font-size:10px;min-height:35px}
@media(max-width:1000px){.lf-compact-row,.lf-list-heading{grid-template-columns:minmax(180px,2fr) 1fr 1fr 100px;gap:12px}.lf-row-date,.lf-list-heading>span:nth-child(4){display:none}#adminMetrics{gap:9px}#adminMetrics article{padding:16px 12px}}
@media(max-width:650px){#adminApp,#clientApp{padding:25px 18px 60px}.lf-page-intro{align-items:start}.lf-page-intro h1,#clientApp>.page-heading h1{font-size:24px}.lf-page-intro span,#clientSessionLabel{font-size:11px;line-height:1.7}.lf-live-state{font-size:8px}#adminMetrics{grid-template-columns:1fr 1fr}#adminMetrics article:last-child{grid-column:span 2}.lf-compact-row{grid-template-columns:1fr auto;padding:20px 15px}.lf-row-technician{grid-column:1;font-size:10px}.lf-compact-row .details-action{grid-column:2}.lf-list-heading{display:none}#adminTickets{border-radius:12px}.lf-client-stats{grid-template-columns:1fr 1fr;gap:9px}.lf-client-stats article:last-child{grid-column:span 2}#clientApp>.page-heading{align-items:start;gap:12px}#newTicketToggle{white-space:nowrap;padding:0 12px;font-size:10px}body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar{padding:0 18px;gap:15px;height:73px}body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .admin-nav{gap:12px}body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .admin-nav-button{font-size:10px}#ticketDialog .dialog-body{padding:18px}#ticketDialog .dialog-grid{grid-template-columns:1fr}#adminTicketsPanel>.panel-header>div:first-child{align-items:start;gap:15px}#adminListInfo{text-align:right}#adminSearch{flex-basis:100%}#adminTicketsPanel .toolbar select{flex-basis:calc(50% - 10px)}#exportCsvBtn{width:100%}}

#adminTicketsPanel .toolbar #exportCsvBtn{width:auto!important;flex:0 0 auto!important;padding:0 16px}#adminTicketsPanel .toolbar select{flex:1 1 110px!important}#adminTicketsPanel .toolbar #adminSearch{flex:2 1 220px!important;min-width:0!important}@media(max-width:650px){#adminTicketsPanel .toolbar #adminSearch{flex-basis:100%!important}#adminTicketsPanel .toolbar #exportCsvBtn{width:100%!important;flex-basis:100%!important}}

/* Camada visual: preserva os campos, botões e permissões existentes. */
body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;display:flex!important;flex-wrap:nowrap;gap:30px!important;padding-inline:max(24px,calc((100vw - 1310px)/2))!important}
body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar .brand{flex:0 1 auto;min-width:0!important;white-space:nowrap}
body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) #notificationCenter{margin-left:auto!important;flex:0 0 auto;position:relative}
body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) #notificationToggle,body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) #logoutBtn{height:38px!important;min-height:38px!important;border:1px solid #b5eb9226!important;border-radius:9px!important;background:#b5eb9206!important;box-shadow:none!important;color:#b3c8af!important;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:11px!important;font-weight:500!important;transition:background .2s,border-color .2s}
body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) #notificationToggle{width:38px!important;min-width:38px!important;padding:0!important}
body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) #logoutBtn{width:auto!important;min-width:75px!important;padding:0 13px!important;flex:0 0 auto;margin-left:-18px}
body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) #notificationToggle:hover,body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) #logoutBtn:hover{background:#b5eb9214!important;border-color:#b5eb9255!important;color:#d5edc8!important}
.lf-header-icon{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
#notificationCount{background:#b5eb92!important;color:#16301b!important;border:2px solid #091511!important;font-size:9px!important;min-width:19px;height:19px;line-height:15px;top:-6px;right:-6px;box-shadow:none}
#notificationPanel{width:min(380px,calc(100vw - 36px))!important;max-width:calc(100vw - 36px)!important;border:1px solid #b5eb9230!important;border-radius:13px!important;background:#11231bf5!important;box-shadow:0 20px 60px #0005!important;right:0!important;left:auto!important;padding:17px!important}
#notificationPanel>div:first-child strong{font:600 14px Manrope!important}#notificationPanel>div:first-child small{font-size:10px!important;color:#88a18f!important}#notificationList article{border-color:#b5eb9218!important;background:#b5eb9204!important;border-radius:8px!important}#notificationList article strong{font-size:11px!important}#notificationList article span{font-size:11px!important;line-height:1.6;overflow-wrap:anywhere}#notificationList article small{font-size:9px!important}
#adminApp,#clientApp{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:1370px!important}
#adminApp:has(#adminClientsPanel:not(.hidden))>.page-heading{display:none!important}
#adminApp:has(#adminClientsPanel:not(.hidden)) .lf-page-intro{margin-bottom:27px!important}
#adminClientsPanel{width:100%!important;min-width:0!important;box-sizing:border-box!important;max-width:100%!important;margin:0!important;padding:25px!important;border:1px solid #b5eb921c!important;border-radius:14px!important;background:linear-gradient(135deg,#18302250,#10201980)!important;box-shadow:none!important}
#adminClientsPanel .panel-header{display:flex!important;align-items:center!important;justify-content:space-between!important;margin:0 0 23px!important;padding:0!important;border:0!important;background:none!important}
#adminClientsPanel .panel-header h2{font:600 19px Manrope!important;letter-spacing:-.035em!important;color:#edf5ee!important;margin:0 0 7px!important}
#adminClientsPanel .panel-subtitle{font-size:12px!important;line-height:1.7!important;color:#87a393!important;margin:0!important}
#adminClientForm{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important}
#adminClientForm .form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 24px!important;min-width:0!important;width:100%!important}
#adminClientForm label{display:flex!important;flex-direction:column!important;gap:9px!important;min-width:0!important;margin:0!important;font-size:11px!important;font-weight:500!important;color:#bad0bf!important}
#adminClientsPanel input,#adminClientsPanel select{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;min-height:43px!important;height:43px!important;font:400 12px 'DM Sans',sans-serif!important;color:#d1dfcf!important;border:1px solid #b0d5b926!important;border-radius:8px!important;background:#09181180!important;padding:0 13px!important;box-shadow:none!important}
#adminClientsPanel input:focus,#adminClientsPanel select:focus{border-color:#b5eb9280!important;outline:2px solid #b5eb9210!important;outline-offset:1px}
#adminClientsPanel input::placeholder{color:#728e7a!important}
#adminClientForm>.actions{display:flex!important;gap:10px!important;margin:23px 0 0!important;flex-wrap:wrap;align-items:center}
#adminClientsPanel .primary-button{background:#b5eb92!important;color:#19301b!important;box-shadow:none!important;border:0!important;border-radius:8px!important;font:600 11px 'DM Sans',sans-serif!important;min-height:39px!important;padding:0 17px!important}
#adminClientsPanel .secondary-button{background:#b5eb9205!important;color:#b3c8af!important;box-shadow:none!important;border:1px solid #b5eb9226!important;border-radius:8px!important;font:500 11px 'DM Sans',sans-serif!important;min-height:39px!important;padding:0 15px!important}
#adminClientsPanel .client-search-row{display:flex!important;align-items:center!important;flex-wrap:wrap;gap:16px!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:25px 0 19px!important;padding:20px 0 0!important;border:0!important;border-top:1px solid #b5eb9216!important;background:none!important;box-shadow:none!important}
#adminClientsPanel .client-role-filter{display:flex!important;gap:5px!important;flex:0 1 auto!important;min-width:0!important;flex-wrap:wrap;border:1px solid #b5eb9218!important;border-radius:9px!important;padding:4px!important;background:#09181170!important}
#adminClientsPanel .client-role-filter-button{background:none!important;border:1px solid transparent!important;border-radius:6px!important;min-height:32px!important;padding:0 13px!important;font:500 10px 'DM Sans',sans-serif!important;color:#8ea997!important;box-shadow:none!important}
#adminClientsPanel .client-role-filter-button.active{color:#c4e7ac!important;background:#b5eb9210!important;border-color:#b5eb922d!important}
#adminClientsPanel #clientSearch{flex:1 1 250px!important;width:auto!important;min-width:0!important;max-width:100%!important;margin:0!important}
#adminClients{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;width:100%!important;min-width:0!important}
#adminClients .client-card{min-width:0!important;max-width:100%!important;border:1px solid #b5eb921c!important;border-radius:12px!important;padding:20px!important;background:#0c1d1580!important;box-shadow:none!important;gap:14px!important;overflow-wrap:anywhere}
#adminClients .client-card-title{gap:11px!important;margin:0!important;align-items:start!important;flex-wrap:wrap}
#adminClients .client-card-title strong{font:600 14px Manrope!important;color:#e4eee2!important}
#adminClients .client-card span,#adminClients .client-card small{font-size:10px!important;line-height:1.7!important;color:#8da995!important}
#adminClients .client-card-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;min-width:0!important}
#adminClients .client-card-actions button{width:auto!important;min-width:0!important;white-space:normal!important;min-height:34px!important;font-size:10px!important}
#adminClients .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:0!important;gap:14px!important}
#adminClients .client-edit-form,#adminClients .client-password-form{min-width:0!important;max-width:100%!important}
@media(max-width:900px){#adminClients{grid-template-columns:1fr!important}body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar{gap:20px!important}body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) #logoutBtn{margin-left:-8px}}
@media(max-width:600px){body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar{display:grid!important;grid-template-columns:minmax(0,1fr) 36px 65px!important;gap:12px!important;min-height:110px!important;height:auto!important;padding:12px 18px!important}body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar .brand{grid-column:1!important}body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) #notificationCenter{grid-column:2!important;margin:0!important}body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) #logoutBtn{grid-column:3!important;min-width:65px!important;margin:0!important;padding:0 9px!important}body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .admin-nav{grid-row:2!important;grid-column:1/-1!important;height:34px!important;justify-content:flex-start!important;width:100%!important;margin:0!important}#adminClientsPanel{padding:18px!important}#adminClientForm .form-grid,#adminClients .form-grid{grid-template-columns:1fr!important;gap:16px!important}#adminClientsPanel .client-role-filter{width:100%!important}#adminClientsPanel .client-role-filter-button{flex:1 1 auto!important;padding:0 9px!important}#adminClientsPanel #clientSearch{flex-basis:100%!important;width:100%!important}#adminClients .client-card{padding:16px!important}#notificationPanel{position:fixed!important;top:68px!important;right:18px!important;left:auto!important}}
/* Conversas com imagens e acabamento para telas pequenas */
#ticketDialog .chat-file-input,#ticketDialog .chat-camera-input{display:none!important}
#ticketDialog .comment-form{display:flex;flex-direction:column;gap:10px!important;margin-top:16px}
#ticketDialog .comment-form>label{display:flex;flex-direction:column;gap:9px;margin:0!important}
#ticketDialog .comment-form textarea{min-height:84px;max-height:180px;resize:vertical;padding:12px!important;font-size:14px!important;line-height:1.5}
#ticketDialog .chat-compose-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
#ticketDialog .chat-compose-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px!important;padding:0 14px;border-radius:9px;font-size:12px!important;margin:0;white-space:nowrap}
#ticketDialog .chat-compose-actions .secondary-button{background:#15291e!important;border:1px solid #b5eb9230!important;color:#d1e5c7!important}
#ticketDialog .chat-compose-actions svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}
#ticketDialog .chat-send{margin-left:auto!important;flex:1 1 150px}
#ticketDialog .chat-help{font-size:11px;line-height:1.5;color:#8fa999}
#ticketDialog .chat-feedback{margin:0!important;font-size:12px!important;line-height:1.5}
#ticketDialog .chat-feedback:empty,#ticketDialog .chat-selected:empty{display:none}
#ticketDialog .chat-selected{display:flex;flex-wrap:wrap;gap:10px}
#ticketDialog .chat-selected-item{position:relative;width:76px;height:76px;margin:4px 5px 0 0}
#ticketDialog .chat-selected-item img{width:100%;height:100%;object-fit:cover;border-radius:9px;border:1px solid #b5eb9233}
#ticketDialog .chat-selected-item button{position:absolute;right:-8px;top:-8px;width:30px;height:30px;min-height:30px;padding:0;border-radius:50%;background:#264333;color:#fff;border:1px solid #8fa999;font-size:22px;line-height:1}
#ticketDialog .chat-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;max-width:360px}
#ticketDialog .chat-images:has(>.chat-image:only-child){grid-template-columns:1fr;max-width:280px}
#ticketDialog .chat-image{padding:0;background:#091511;border:1px solid #b5eb9233;border-radius:10px;overflow:hidden;cursor:zoom-in;min-width:0}
#ticketDialog .chat-image img{display:block;width:100%;max-height:260px;object-fit:contain}
#ticketDialog .message-bubble{min-width:0;overflow-wrap:anywhere}
#ticketDialog .message-bubble strong{display:block;line-height:1.5}
#ticketDialog button:disabled{opacity:.6;cursor:wait}
#imageDialog{max-width:min(960px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
#imageDialog .dialog-header{gap:12px;align-items:center}#imageDialogTitle{overflow-wrap:anywhere;min-width:0}
#imageDialog .image-dialog-body{min-width:0;padding:12px}#imageDialogPreview{display:block;max-width:100%;max-height:75dvh;object-fit:contain;margin:auto}
@media(max-width:650px){
 body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)){overflow-x:clip}
 #adminApp,#clientApp{width:100%!important;padding:24px 16px 40px!important;min-width:0}
 .lf-page-intro{flex-wrap:wrap;gap:12px;margin-bottom:22px}.lf-page-intro>div{min-width:0}.lf-live-state{font-size:10px;line-height:1.4}
 #clientApp>.page-heading{flex-wrap:wrap;gap:16px}#clientApp>.page-heading>div{min-width:0}
 #newTicketPanel{padding:18px!important}#newTicketPanel .form-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px}
 #newTicketPanel input,#newTicketPanel select,#newTicketPanel textarea,#adminClientForm input,#adminClientForm select,#clientSearch,#adminSearch,#adminTicketsPanel select{font-size:16px!important;max-width:100%!important}
 #newTicketPanel .form-grid>*{min-width:0;grid-column:auto!important}#newTicketPanel .form-actions{flex-wrap:wrap}#newTicketPanel .form-actions button{width:100%;min-height:46px}
 #adminMetrics{gap:10px!important}#adminMetrics article{min-height:104px!important;padding:15px!important}#adminMetrics article strong{font-size:28px;margin-top:12px}
 .lf-compact-row{gap:12px!important;padding:17px 14px!important}.lf-compact-row>div{min-width:0}.lf-compact-row h3{font-size:14px!important;line-height:1.45;overflow-wrap:anywhere}.lf-compact-row p{overflow-wrap:anywhere}
 .lf-row-status{justify-self:end}.lf-compact-row .details-action{min-height:44px!important;white-space:nowrap}
 .lf-client-search input{font-size:16px!important;width:100%}.lf-client-stats article{padding:16px!important;min-height:105px!important}
 #ticketDialog{position:fixed!important;inset:0!important;margin:0!important;width:100%!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;border:0!important;overflow-y:auto!important;overscroll-behavior:contain;box-sizing:border-box}
 #ticketDialog .dialog-header{padding:16px!important;padding-top:max(16px,env(safe-area-inset-top))!important;gap:12px;align-items:center}
 #ticketDialog .dialog-header>div{min-width:0}#ticketDialog .dialog-header h2{font-size:16px!important;overflow-wrap:anywhere}#ticketDialog .dialog-header button{min-height:44px!important;flex-shrink:0;padding:0 14px}
 #ticketDialog .dialog-body{padding:16px!important;padding-bottom:max(24px,env(safe-area-inset-bottom))!important;gap:14px!important;min-width:0}
 #ticketDialog .dialog-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px}#ticketDialog .dialog-section{padding:15px!important;min-width:0}
 #ticketDialog .dialog-section h3{font-size:12px!important}#ticketDialog .dialog-section p{font-size:13px!important}
 #ticketDialog .chat-thread{max-height:42dvh!important;min-height:80px;padding:0!important}#ticketDialog .message-bubble{max-width:94%;padding:11px!important;margin-bottom:10px!important}
 #ticketDialog .message-bubble strong{font-size:10px!important}#ticketDialog .message-bubble p{font-size:14px!important;line-height:1.5}
 #ticketDialog .comment-form textarea,#ticketDialog input,#ticketDialog select{font-size:16px!important;width:100%;min-width:0;box-sizing:border-box}
 #ticketDialog .chat-compose-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}#ticketDialog .chat-send{grid-column:1/-1;margin-left:0!important;width:100%}
 #ticketDialog .chat-compose-actions button{font-size:13px!important;min-height:46px!important}
 #ticketDialog .chat-images{max-width:100%}#ticketDialog .chat-images:has(>.chat-image:only-child){max-width:100%}
 #ticketDialog .signature-grid{grid-template-columns:minmax(0,1fr)!important}#ticketDialog canvas{max-width:100%;touch-action:none}
 #imageDialog{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important}#imageDialog .dialog-header{padding:14px!important}#imageDialogTitle{font-size:14px!important}
 body:has(#clientApp:not(.hidden)) .topbar{min-height:72px!important}
}
#ticketDialog .chat-thread{display:flex!important;flex-direction:column;align-items:stretch;gap:10px!important}
#ticketDialog .message-bubble{width:92%!important;max-width:92%!important;margin:0!important;flex:0 0 auto}
#ticketDialog .admin-message{align-self:flex-start!important}#ticketDialog .client-message{align-self:flex-end!important}
@media(max-width:650px){#ticketDialog .dialog-header,#imageDialog .dialog-header{display:flex!important;justify-content:space-between;grid-template-columns:none!important}#ticketDialog .dialog-header button,#imageDialog .dialog-header button{width:auto!important}#ticketDialog .message-bubble{width:94%!important;max-width:94%!important;margin:0!important}}
@media(max-width:650px){#ticketDialog .dialog-header,#imageDialog .dialog-header{flex-direction:row!important;align-items:center!important;text-align:left!important}#ticketDialog .dialog-header>div{flex:1}}
/* Identificação da conta conectada */
.lf-user-identity{display:flex;align-items:center;gap:11px;min-width:0;flex:0 1 220px;color:#edf5ee}
.lf-user-avatar{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#b5eb9212;border:1px solid #b5eb9216;color:#b5eb92;font:600 11px 'DM Sans',sans-serif}
.lf-user-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.lf-user-copy strong{font:500 12px 'DM Sans',sans-serif;color:#edf5ee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lf-user-copy small{font:400 10px 'DM Sans',sans-serif;color:#8fa999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar:has(.lf-user-identity:not(.hidden)){gap:22px!important}
body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar:has(.lf-user-identity:not(.hidden)) #logoutBtn{margin-left:0!important}
@media(max-width:1100px) and (min-width:901px){.lf-user-identity{flex-basis:155px}.lf-user-copy strong{font-size:11px}body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar:has(.lf-user-identity:not(.hidden)){gap:15px!important}.topbar:has(.lf-user-identity:not(.hidden)) .admin-nav{gap:16px!important}}
@media(max-width:900px){
 body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar:has(.lf-user-identity:not(.hidden)){display:grid!important;grid-template-columns:minmax(0,1fr) 44px 70px!important;gap:12px!important;min-height:0!important;height:auto!important;padding:12px 18px!important;align-items:center!important}
 .topbar:has(.lf-user-identity:not(.hidden)) .brand{grid-column:1!important;grid-row:1!important}
 body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar:has(.lf-user-identity:not(.hidden)) #notificationCenter{grid-column:2!important;grid-row:1!important;margin:0!important}
 body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar:has(.lf-user-identity:not(.hidden)) #notificationToggle{width:44px!important;height:44px!important}
 body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar:has(.lf-user-identity:not(.hidden)) #logoutBtn{grid-column:3!important;grid-row:1!important;margin:0!important;min-width:0!important;width:70px!important;height:44px!important;padding:0 8px!important}
 .lf-user-identity{grid-column:1/-1!important;grid-row:2!important;width:100%;padding:10px 0 0;border-top:1px solid #b5eb9212;flex-basis:auto}
 .lf-user-copy strong{font-size:12px}.lf-user-copy small{font-size:11px}
 body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar:has(.lf-user-identity:not(.hidden)) .admin-nav{grid-column:1/-1!important;grid-row:3!important;height:35px!important;justify-content:flex-start!important;margin:0!important;width:100%!important;gap:24px!important}
 .topbar:has(.lf-user-identity:not(.hidden)) #notificationPanel{top:66px!important}
}
/* Conta, notificações e saída na ordem solicitada */
body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar .lf-user-identity{margin-left:auto!important}
body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar:has(.lf-user-identity:not(.hidden)) #notificationCenter{margin-left:0!important}
@media(max-width:900px){
 .topbar:has(.lf-user-identity:not(.hidden)) .brand{grid-row:1!important;grid-column:1/-1!important}
 body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar .lf-user-identity{grid-row:2!important;grid-column:1!important;margin:0!important;padding:0!important;border:0!important}
 body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar:has(.lf-user-identity:not(.hidden)) #notificationCenter{grid-row:2!important;grid-column:2!important}
 body:has(#adminApp:not(.hidden),#clientApp:not(.hidden)) .topbar:has(.lf-user-identity:not(.hidden)) #logoutBtn{grid-row:2!important;grid-column:3!important}
 .topbar:has(.lf-user-identity:not(.hidden)) #notificationPanel{top:112px!important}
}

/* Reabertura com justificativa, acessível também no celular. */
#ticketDialog .lf-reopen-section{order:-3!important;border-color:rgba(181,235,146,.35)}
.lf-reopen-section>p{line-height:1.6;margin:0 0 16px}
.reopen-form{display:grid;gap:12px;min-width:0}
.reopen-form label{display:grid;gap:8px;color:#d1dfcf!important;font-size:12px;font-weight:600}
.reopen-form textarea{width:100%;box-sizing:border-box;min-height:100px;resize:vertical;font-size:16px}
.reopen-form small{color:var(--muted,#9ab0a2);line-height:1.5}
.reopen-form button{width:100%;min-height:44px;white-space:normal}
.reopen-feedback:empty{display:none}
.reopen-feedback{overflow-wrap:anywhere;line-height:1.5;margin:0}

/* Finalizado usa cinza para distinguir de Aberto (verde). */
body .ticket-card .ticket-status.done{background:#334155!important;color:#e2e8f0!important;border-color:#64748b!important}

/* Endereço separado do setor ou referência do atendimento. */
#ticketForm .service-address-fields{min-width:0;margin:0;padding:20px;border:1px solid #b5eb9226;border-radius:12px;background:#0c1d1540}
#ticketForm .service-address-fields legend{padding:0 8px;color:#d1dfcf;font-weight:600;font-size:14px}
#ticketForm .service-address-fields>p{margin:0 0 18px;color:#9ab6a1;font-size:12px;line-height:1.6}
#ticketForm .service-address-fields label{color:#d1dfcf}
#ticketForm .service-address-fields small{font-size:11px;color:#9ab6a1;font-weight:400}
#ticketForm .service-address-fields input{min-width:0;width:100%;box-sizing:border-box}
.service-address-detail{overflow-wrap:anywhere}
@media(max-width:600px){#ticketForm .service-address-fields{padding:16px}#ticketForm .service-address-fields .form-grid{grid-template-columns:minmax(0,1fr)!important}#ticketForm .service-address-fields input{font-size:16px!important}}

/* Fotos da finalização, assinatura confirmada e alertas de reabertura. */
#completionDialog .completion-evidence>p{color:#a8bcae;font-size:12px;line-height:1.6;margin:0 0 16px}
#completionDialog .completion-evidence h3 small{font-size:11px;font-weight:400;color:#a8bcae}
.completion-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.completion-photo-group{min-width:0;padding:16px;border:1px solid #b5eb9226;border-radius:12px}
#completionDialog .completion-photo-group h4{color:#e8f0e8;font-size:13px;margin:0 0 14px}
.completion-photo-actions{display:flex;flex-wrap:wrap;gap:8px}
#completionDialog .completion-photo-actions button{flex:1 1 120px;min-height:44px;font-size:12px;white-space:normal}
.completion-photo-input,.completion-camera-input{display:none!important}
.completion-photo-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.completion-photo-previews:not(:empty){margin:0 0 14px}
.completion-photo-preview{position:relative;min-width:0}
.completion-photo-preview img{width:100%;height:110px;object-fit:cover;border:1px solid #b5eb9230;border-radius:8px}
#completionDialog .completion-photo-remove{position:absolute;right:0;top:0;border-radius:50%;width:32px;height:32px;min-height:32px;padding:0;background:#10241c;color:#fff;font-size:24px;border:1px solid #809b87}
.completion-photo-feedback{font-size:12px;color:#fecaca;line-height:1.5;overflow-wrap:anywhere}
.completion-photo-feedback:empty{display:none}
#completionDialog .signature-preview-button{width:100%;min-width:0;min-height:160px;padding:12px;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;border:1px dashed #86a98a;border-radius:12px;background:#fff;color:#243c2a;touch-action:pan-y;box-sizing:border-box}
#completionDialog .signature-preview-button.signature-confirmed{border:2px solid #86bd65}
.signature-preview-button img{display:block;max-width:100%;width:100%;height:110px;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.signature-preview-button img[hidden]{display:none!important}
.signature-preview-button span{font-size:12px;line-height:1.5;pointer-events:none}
.signature-preview-help{color:#a8bcae;font-size:11px;line-height:1.5}
#signatureDialog{color:#e1eee2;background:#0c1b15;border:1px solid #557c61;border-radius:16px;width:min(900px,calc(100% - 32px));max-width:100%;max-height:96dvh;padding:0;overflow:auto;overscroll-behavior:contain}
#signatureDialog::backdrop{background:#000b;backdrop-filter:blur(4px)}
#signatureDialog .dialog-header{position:sticky;top:0;z-index:2;background:#0b1b15;border-bottom:1px solid #b5eb9226;padding:20px;display:flex;gap:14px;align-items:center;justify-content:space-between}
#signatureEditorTitle{font-size:20px;overflow-wrap:anywhere;margin:6px 0 0}
#signatureDialog .signature-editor-body{padding:20px;display:grid;gap:14px;min-width:0}
#signatureDialog .signature-editor-body>p{margin:0;color:#c0d2c1;font-size:13px;line-height:1.6}
#signatureEditorCanvas{display:block;width:min(100%,calc(50dvh * 2.7368));height:auto;min-width:0;margin:0 auto;background:#fff;border:2px solid #95c879;border-radius:10px;touch-action:none!important;user-select:none;box-sizing:border-box}
.signature-editor-actions{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}
#signatureDialog button{min-height:44px;white-space:normal}
#signatureDialog .primary-button{background:#b5eb92;color:#17311c}
#signatureDialog .secondary-button{background:#183025;color:#e1eee2;border:1px solid #60836b}
#signatureEditorFeedback:empty{display:none}
#signatureDialog #signatureEditorFeedback{color:#fecaca}
.completion-evidence-result{margin:18px 0}
.completion-evidence-result h4{font-size:13px;color:#d8e8d5;margin:0 0 10px}
.completion-result-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.completion-result-image{min-width:0;padding:0;overflow:hidden;background:#0c1d15;border:1px solid #b5eb9230;border-radius:10px;cursor:zoom-in}
.completion-result-image img{display:block;width:100%;height:150px;object-fit:cover}
#notificationToggle.reopen-alert{border-color:#f87171!important;color:#fecaca!important;box-shadow:0 0 0 2px #f8717120}
#notificationCount.reopen-alert{background:#dc2626!important;color:#fff!important}
#notificationList article.notification-reopened{border-left:3px solid #f87171;background:#451e2450}
#notificationList article.notification-reopened strong{color:#fecaca}
#notificationList article.notification-reopened.unread{background:#451e24}
.ticket-card .ticket-reopened-badge{display:inline-flex;max-width:100%;padding:6px 9px;border:1px solid #f8717180;border-radius:18px;background:#451e24;color:#fecaca;font-size:10px;font-weight:600;white-space:normal;line-height:1.4}
.ticket-card.ticket-reopened{border-left:3px solid #f87171!important}
#ticketDialog .reopened-notice{order:-4!important;border:1px solid #f8717180!important;background:#451e2450!important}
#ticketDialog .reopened-notice h3{color:#fecaca!important}
#ticketDialog .reopened-notice p{color:#f3d6d6!important;overflow-wrap:anywhere}
@media(max-width:600px){.completion-evidence-grid{grid-template-columns:minmax(0,1fr)}#completionDialog .completion-photo-group{padding:12px}#signatureDialog{position:fixed;inset:0;width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0;margin:0}#signatureDialog .dialog-header{padding:16px}#signatureDialog .signature-editor-body{padding:16px}#signatureEditorTitle{font-size:17px}.signature-editor-actions{display:grid;grid-template-columns:minmax(90px,1fr) minmax(0,2fr)}#signatureDialog .signature-editor-actions button{width:100%}}
@media(max-height:500px){#signatureDialog .dialog-header{padding:10px 16px}#signatureEditorTitle{font-size:16px}#signatureDialog .signature-editor-body{padding:10px 16px;gap:8px}#signatureEditorCanvas{width:min(100%,calc(40dvh * 2.7368))}}

#completionDialog .dialog-header{position:sticky;top:0;z-index:3;background:#0b1b15}

/* Keep the completion sheet legible on iOS, including the legacy mobile footer. */
#completionDialog .completion-legal{background:#10251c!important;color:#b9cdbf!important;border:1px solid #526d59!important;box-shadow:none!important}
#completionDialog .actions{background:#0c1e16!important;border-color:#385342!important;box-shadow:none!important}
#completionDialog .signature-preview-button{color:#243c2a!important;-webkit-appearance:none;appearance:none;background:#fff!important;box-shadow:none!important}
#completionDialog .signature-preview-button span{color:#243c2a!important;-webkit-text-fill-color:#243c2a;opacity:1!important}
#completionDialog input,#completionDialog textarea{font-size:16px}
@media(max-width:650px){#completionDialog .dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}#completionDialog .dialog-header>div{min-width:0}#completionDialog .dialog-header button{width:auto;flex-shrink:0}#completionDialog .actions{position:static;margin:0;padding:12px;border:1px solid #385342;border-radius:10px}#completionDialog .completion-legal{font-size:12px;line-height:1.6}}
