*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #2563eb;--primary-hover: #1d4ed8;--danger: #dc2626;--success: #16a34a;--bg: #f8fafc;--card-bg: #ffffff;--border: #e2e8f0;--text: #1e293b;--text-muted: #64748b;--header-bg: #1e293b;--radius: 8px;--shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5;-webkit-text-size-adjust:100%}.app{min-height:100vh;display:flex;flex-direction:column}.content{flex:1;padding:1rem .9rem;max-width:1100px;margin:0 auto;width:100%}.header{background:var(--header-bg);color:#f8fafc;display:flex;align-items:center;gap:.5rem;padding:.55rem .9rem;position:sticky;top:0;z-index:100;box-shadow:0 1px 4px #00000040;flex-wrap:nowrap}.brand{font-weight:700;font-size:.9rem;white-space:nowrap;flex-shrink:0}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid #475569;color:#fff;border-radius:6px;font-size:1.1rem;line-height:1;padding:.35rem .6rem;cursor:pointer;flex-shrink:0}.header nav{display:none;flex-direction:column;align-items:stretch;gap:.15rem;position:absolute;top:100%;left:0;right:0;background:var(--header-bg);padding:.5rem .9rem .8rem;box-shadow:0 8px 20px #00000059;max-height:calc(100vh - 100%);overflow-y:auto}.header nav.open{display:flex}.header nav a{position:relative;display:flex;align-items:center;color:#94a3b8;text-decoration:none;padding:.7rem .75rem;border-radius:8px;font-size:.95rem;transition:color .15s,background .15s;white-space:nowrap}.header nav a:hover,.header nav a.active{color:#fff;background:#ffffff1f}.nav-badge{position:static;margin-left:auto;color:#fff;border-radius:999px;font-size:.65rem;padding:1px 5px;font-weight:700;line-height:1.4}.nav-badge--alert{background:#ef4444}.nav-badge--warn{background:#f59e0b}.nav-identity{display:flex;align-items:center;gap:.4rem;color:#94a3b8;font-size:.82rem;padding:.35rem .75rem .6rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:.3rem}.nav-logout{display:block;margin:.5rem .75rem 0;width:calc(100% - 1.5rem)}.header-user{display:flex;align-items:center;gap:.5rem;margin-left:auto}.header-username{display:none;align-items:center;gap:.4rem;font-size:1rem;color:#fff}.header-user .btn-logout{display:none}.header-role{font-size:.85rem}.btn-logout{background:transparent;border:1px solid #475569;color:#fff;padding:.25rem .55rem;border-radius:6px;cursor:pointer;font-size:.78rem;transition:all .15s;white-space:nowrap;flex-shrink:0;margin-left:auto}.btn-logout:hover{border-color:#94a3b8;color:#fff}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--bg)}.login-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:2rem;width:100%;max-width:380px;box-shadow:var(--shadow)}.login-card h1{font-size:1.5rem;text-align:center;margin-bottom:.2rem}.login-card>p{text-align:center;color:var(--text-muted);font-size:.9rem;margin-bottom:1.5rem}.field{margin-bottom:1rem}.field label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.35rem}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:.55rem .75rem;font-size:16px;background:#fff;color:var(--text);font-family:inherit;transition:border-color .15s,box-shadow .15s}.field input:disabled,.field select:disabled,.field textarea:disabled{background:var(--bg);color:var(--text-muted);cursor:not-allowed;opacity:.7}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.field textarea{resize:vertical;min-height:120px}.field-row{display:flex;align-items:center}.field-row label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer;font-weight:400}.field-row input[type=checkbox]{width:auto;accent-color:var(--primary)}.btn-primary{background:var(--primary);color:#fff;border:none;padding:.6rem 1.25rem;border-radius:var(--radius);cursor:pointer;font-size:.95rem;font-weight:500;transition:background .15s;width:100%}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--text);border:1px solid var(--border);padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.9rem;transition:background .15s}.btn-secondary:hover{background:var(--bg)}.btn-danger{background:var(--danger);color:#fff;border:none;padding:.4rem .85rem;border-radius:var(--radius);cursor:pointer;font-size:.85rem;transition:opacity .15s}.btn-danger:hover{opacity:.85}.btn-success{background:var(--success);color:#fff;border:none;padding:.4rem .85rem;border-radius:var(--radius);cursor:pointer;font-size:.85rem;transition:opacity .15s}.btn-success:hover{opacity:.85}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem}.page-header h2{font-size:1.2rem}.page-header .btn-primary{width:auto;padding:.5rem 1rem}.card-list{display:flex;flex-direction:column;gap:.75rem}.client-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.client-info{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}.client-info strong{font-size:.95rem}.phone{color:var(--text-muted);font-size:.82rem}.client-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;width:100%;justify-content:flex-end}.badge{display:inline-block;padding:.15rem .55rem;border-radius:9999px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge-essencial{background:#dbeafe;color:#1d4ed8}.badge-profissional{background:#e0e7ff;color:#4338ca}.badge-business{background:#fef9c3;color:#854d0e}.status{font-size:.78rem;font-weight:600;padding:.2rem .55rem;border-radius:9999px}.status.active{background:#dcfce7;color:#15803d}.status.inactive{background:#fee2e2;color:#b91c1c}.form-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}.form-actions{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap}.form-actions button,.form-actions .btn-secondary,.form-actions .btn-primary{width:100%}.error{color:var(--danger);font-size:.875rem;margin-bottom:.75rem}.loading,.empty{text-align:center;color:var(--text-muted);padding:3rem 0;font-size:.95rem}.form-input,.setting-input{border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .7rem;font-size:16px;background:#fff;color:var(--text);font-family:inherit;transition:border-color .15s,box-shadow .15s}.form-input:focus,.setting-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.form-input:disabled,.setting-input:disabled{opacity:.6;cursor:not-allowed;background:var(--bg)}.settings-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}.settings-section-title{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}.setting-row{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:.9rem 0;gap:.6rem}.setting-row+.setting-row{border-top:1px solid var(--border)}.setting-row>div{flex:1;min-width:0}.setting-desc{font-size:.82rem;color:var(--text-muted);margin-top:.2rem;line-height:1.45}.setting-select{border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .7rem;font-size:16px;background:#fff;color:var(--text);cursor:pointer;width:100%;max-width:100%;flex-shrink:0;transition:border-color .15s}.setting-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.setting-select:disabled{opacity:.6;cursor:not-allowed}.setting-feedback{margin-top:.85rem;font-size:.85rem;color:var(--success);font-weight:500}.setting-feedback--error{color:var(--danger)}.handoff-cfg-table{width:100%;border-collapse:collapse;font-size:.875rem;table-layout:auto}.handoff-cfg-table th{text-align:left;padding:.5rem .75rem;font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--border);white-space:nowrap;background:var(--bg)}.handoff-cfg-table th:nth-child(3),.handoff-cfg-table th:nth-child(4){text-align:center}.handoff-cfg-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.handoff-cfg-table td:nth-child(1){white-space:nowrap}.handoff-cfg-table td:nth-child(2){white-space:nowrap;color:var(--text-muted);font-size:.82rem}.handoff-cfg-table td:nth-child(3),.handoff-cfg-table td:nth-child(4){text-align:center;white-space:nowrap}.handoff-cfg-table td:nth-child(5){min-width:170px}.handoff-cfg-table td:nth-child(6){width:99%}.handoff-cfg-table td:nth-child(7){white-space:nowrap}.handoff-cfg-table tr:last-child td{border-bottom:none}.handoff-cfg-table tr:hover td{background:color-mix(in srgb,var(--primary) 4%,transparent)}.handoff-cfg-table .form-input{width:100%;box-sizing:border-box;font-size:.85rem;padding:.35rem .6rem}.business-hours-table{width:100%;border-collapse:collapse;font-size:.875rem;table-layout:auto}.business-hours-table th{text-align:left;padding:.5rem .75rem;font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--border);white-space:nowrap;background:var(--bg)}.business-hours-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.business-hours-table th:first-child,.business-hours-table td:first-child{position:sticky;left:0;white-space:nowrap}.business-hours-table th:first-child{background:var(--bg);z-index:2}.business-hours-table td:first-child{background:var(--card-bg);box-shadow:inset -1px 0 0 var(--border);z-index:1}.business-hours-table tr:last-child td{border-bottom:none}.business-hours-table tr:hover td{background:color-mix(in srgb,var(--primary) 4%,transparent)}.business-hours-table .form-input{width:100%;max-width:110px;box-sizing:border-box;font-size:.85rem;padding:.35rem .5rem}.business-hours-table .dia-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;white-space:nowrap}.business-hours-table .dia-checkbox input[type=checkbox]{width:auto;accent-color:var(--primary)}.business-hours-table tr.dia-off td:not(:first-child){opacity:.45}.log-viewer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.log-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;width:100%}.log-controls .setting-select{flex:1}.log-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.log-table-wrapper th:first-child,.log-table-wrapper td:first-child,.handoff-cfg-table th:first-child,.handoff-cfg-table td:first-child{position:sticky;left:0;background:var(--card-bg);box-shadow:inset -1px 0 0 var(--border)}.log-table-wrapper th:first-child,.handoff-cfg-table th:first-child{z-index:2;background:var(--bg)}.log-table-wrapper td:first-child,.handoff-cfg-table td:first-child{z-index:1}.log-table{width:100%;border-collapse:collapse;font-size:.82rem}.log-table th{text-align:left;padding:.45rem .65rem;font-weight:600;color:var(--text-muted);border-bottom:2px solid var(--border);white-space:nowrap}.log-table td{padding:.45rem .65rem;border-bottom:1px solid var(--border);vertical-align:top}.log-table tr:last-child td{border-bottom:none}.log-table tr:hover td{background:var(--bg)}.log-time{white-space:nowrap;color:var(--text-muted);font-size:.78rem}.log-event{white-space:nowrap;font-family:monospace;font-size:.8rem}.log-message{color:var(--text-muted);max-width:380px;word-break:break-word}.log-badge{display:inline-block;padding:.1rem .45rem;border-radius:4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.log-badge--debug{background:#f1f5f9;color:#64748b}.log-badge--info{background:#dbeafe;color:#1d4ed8}.log-badge--warn{background:#fef9c3;color:#92400e}.log-badge--error{background:#fee2e2;color:#b91c1c}.toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:#cbd5e1;border-radius:24px;cursor:pointer;transition:background .2s}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle input:checked+.toggle-slider{background:var(--primary)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.toggle input:disabled+.toggle-slider{opacity:.6;cursor:not-allowed}button,select,.btn-primary,.btn-secondary,.btn-danger,.btn-success,.nav-toggle,.nav-logout{min-height:44px}.field-row,.field-row label,label:has(input[type=checkbox]),label:has(input[type=radio]){min-height:44px}.prompt-builder{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}@media(min-width:521px){.header{gap:.6rem}.brand{font-size:.95rem}.client-card{flex-direction:row;align-items:center;padding:1rem 1.25rem}.client-actions{width:auto;justify-content:flex-start}.form-card{padding:1.5rem}.settings-card{padding:1.25rem 1.5rem}.form-actions{flex-direction:row}.form-actions button,.form-actions .btn-secondary,.form-actions .btn-primary{width:auto}.setting-row{flex-direction:row;align-items:center;gap:1.5rem}.setting-select{width:auto;min-width:200px}.log-controls{width:auto}.log-controls .setting-select{flex:0 1 auto}}@media(min-width:721px){.header{padding:.75rem 1.25rem;gap:1rem;flex-wrap:wrap}.brand{font-size:1.05rem}.nav-toggle{display:none}.header nav,.header nav.open{display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;align-items:center;gap:.4rem;flex:0 0 100%;order:1;min-width:0;position:static;padding:0;background:none;box-shadow:none;max-height:none}.header nav a{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.9rem;border-radius:6px}.nav-identity,.nav-logout{display:none}.header-user{margin-left:auto;gap:.75rem}.header-username{display:inline-flex}.header-user .btn-logout{display:inline-block}.btn-logout{padding:.3rem .7rem;font-size:.85rem}.content{padding:1.5rem 2rem}.field input,.field select,.field textarea{font-size:.95rem}.form-input,.setting-input,.setting-select{font-size:.9rem}button,select,.btn-primary,.btn-secondary,.btn-danger,.btn-success,.nav-toggle,.field-row,.field-row label,label:has(input[type=checkbox]),label:has(input[type=radio]){min-height:0}}@media(min-width:1180px){.header nav,.header nav.open{flex:1;order:0;overflow-x:visible}.header-user{margin-left:0}}@media(min-width:781px){.prompt-builder{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.tabela-rolavel-area{position:relative}.tabela-rolavel{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:12px}.tabela-rolavel--sem-borda{border:none;border-radius:0}.tabela-rolavel th:first-child,.tabela-rolavel td:first-child{position:sticky;left:0;background:var(--card-bg);box-shadow:inset -1px 0 0 var(--border)}.tabela-rolavel th:first-child{z-index:2}.tabela-rolavel td:first-child{z-index:1}.tabela-rolavel-dica{font-size:.74rem;color:var(--text-muted);margin:.4rem 0 0;text-align:right;font-style:italic}.dias-semana{display:grid;grid-template-columns:repeat(7,1fr);gap:.2rem;align-items:center}.dias-semana label{display:flex;align-items:center;justify-content:flex-start;gap:.25rem;cursor:pointer;font-size:.78rem;white-space:nowrap}.dias-semana input[type=checkbox]{width:auto;flex:0 0 auto;margin:0;accent-color:var(--primary)}@media(min-width:521px){.dias-semana{display:flex;flex-wrap:wrap;gap:.35rem 1.4rem}.dias-semana label{font-size:.82rem;gap:.4rem}}.campo-telefone{display:flex;flex-direction:column;gap:.5rem}.campo-telefone>select{width:100%}@media(min-width:521px){.campo-telefone{flex-direction:row;align-items:center;max-width:340px}.campo-telefone>select{width:auto}}.campo-curto{max-width:160px}.campo-medio{max-width:260px}.campo-longo{max-width:380px}
