:root{--bg:#f4f6f8;--card:#fff;--text:#17191c;--muted:#68707a;--gold:#c9a227;--dark:#111;--border:#e4e8ed;--danger:#b42318;--ok:#067647}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.sidebar{position:fixed;left:0;top:0;bottom:0;width:235px;background:#101113;color:#fff;padding:24px 16px}.brand{font-weight:800;font-size:22px;line-height:1.1;margin-bottom:28px}.brand span{color:var(--gold);font-size:12px;display:block;letter-spacing:2px;margin-top:6px}.nav a{display:block;padding:12px 14px;border-radius:10px;color:#d9dde3;margin:5px 0}.nav a:hover,.nav a.active{background:#24262a;color:#fff}.main{margin-left:235px;padding:28px;min-height:100vh}.top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.top h1{margin:0;font-size:28px}.btn{display:inline-block;border:0;border-radius:9px;padding:10px 14px;font-weight:700;cursor:pointer;background:#222;color:#fff}.btn.gold{background:var(--gold);color:#111}.btn.light{background:#fff;color:#222;border:1px solid var(--border)}.btn.danger{background:#fff;color:var(--danger);border:1px solid #f2c7c3}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.kpi .label{font-size:13px;color:var(--muted)}.kpi .value{font-size:29px;font-weight:800;margin-top:8px}.section{margin-top:20px}.section h2{font-size:18px}.table-wrap{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--border);font-size:14px;white-space:nowrap}.table th{background:#fafbfc;color:#5b6570;font-size:12px;text-transform:uppercase}.badge{display:inline-block;padding:6px 9px;border-radius:999px;background:#eef1f4;font-size:12px;font-weight:700}.badge.finalizado{background:#e8f7ef;color:#067647}.badge.obra{background:#fff2cc;color:#7a5b00}.badge.cancelado{background:#fdecec;color:#b42318}.filters,.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:700;color:#555}.field input,.field select,.field textarea{width:100%;padding:11px 12px;border:1px solid #d8dde3;border-radius:9px;background:#fff;font:inherit}.field textarea{min-height:90px;resize:vertical}.span2{grid-column:span 2}.span4{grid-column:span 4}.actions{display:flex;gap:9px;flex-wrap:wrap}.muted{color:var(--muted)}.alert{padding:12px 14px;border-radius:10px;margin-bottom:14px}.alert.success{background:#e8f7ef;color:#067647}.alert.danger{background:#fdecec;color:#b42318}.timeline{display:flex;flex-direction:column;gap:12px}.timeline .item{border-left:3px solid var(--gold);padding-left:12px}.small{font-size:12px}.two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.task{display:flex;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--border)}.done{text-decoration:line-through;color:#8a9199}@media(max-width:1000px){.grid,.filters,.form-grid{grid-template-columns:repeat(2,1fr)}.span4{grid-column:span 2}.two-col{grid-template-columns:1fr}}@media(max-width:720px){.sidebar{position:static;width:100%;height:auto}.main{margin-left:0;padding:16px}.grid,.filters,.form-grid{grid-template-columns:1fr}.span2,.span4{grid-column:span 1}.top{align-items:flex-start;flex-direction:column}}
.sidebar{display:flex;flex-direction:column}.nav{flex:1}.sidebar-user{border-top:1px solid #2d3035;padding:16px 10px 0;margin-top:18px}.muted-light{color:#9298a1;margin-top:3px}.logout-btn{width:100%;margin-top:12px;background:#24262a;color:#fff;border:1px solid #3a3d42;padding:9px;border-radius:9px;cursor:pointer;font-weight:700}.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#eef1f4;padding:20px}.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--border);border-radius:18px;padding:30px;box-shadow:0 15px 50px rgba(0,0,0,.08)}.login-brand{font-weight:900;font-size:24px;margin-bottom:28px}.login-brand span{display:block;font-size:11px;letter-spacing:2px;color:var(--gold);margin-top:5px}.login-card h1{margin:0 0 5px}.login-btn{width:100%;margin-top:18px;padding:13px}.login-test{background:#f7f7f5;border:1px solid #ece9db;border-radius:10px;padding:12px;margin-top:18px;font-size:13px}.section-sm{margin-top:12px}.permission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.permission-card{display:flex!important;flex-direction:row!important;gap:10px!important;align-items:flex-start;border:1px solid var(--border);border-radius:10px;padding:12px;background:#fafbfc;cursor:pointer}.permission-card input{width:auto!important;margin-top:2px}.check{display:flex!important;flex-direction:row!important;gap:8px!important;align-items:center}.check input{width:auto!important}.compact{margin-bottom:10px}.upload-form{display:flex;gap:12px;align-items:flex-end;background:#fafbfc;border:1px solid var(--border);padding:12px;border-radius:12px}.upload-grow{flex:1}.upload-button{min-width:90px}.attachment-section{border-top:1px solid var(--border);padding-top:14px;margin-top:16px}.attachment-section h3{font-size:14px;margin:0 0 10px}.attachment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.attachment-card{display:flex;gap:10px;border:1px solid var(--border);border-radius:10px;padding:10px;min-width:0}.attachment-thumb{width:90px;height:70px;object-fit:cover;border-radius:7px;border:1px solid var(--border)}.file-icon{width:55px;height:55px;border-radius:8px;background:#f1f3f5;display:flex;align-items:center;justify-content:center;font-size:24px}.attachment-info{min-width:0;flex:1}.attachment-info a b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-danger{border:0;background:none;color:var(--danger);padding:4px 0;cursor:pointer;font-weight:700;font-size:12px}@media(max-width:720px){.permission-grid,.attachment-grid{grid-template-columns:1fr}.upload-form{flex-direction:column;align-items:stretch}.upload-button{min-width:0}}

.login-logo-wrap{text-align:center;margin:-4px 0 24px}.login-logo{display:block;width:min(250px,85%);height:auto;margin:0 auto;border-radius:4px}.login-card{padding-top:26px}

.brand-logo-wrap{margin-bottom:24px}.sidebar-logo{display:block;width:100%;max-width:195px;height:auto;margin:0 auto;object-fit:contain}.login-logo{width:min(300px,95%);max-height:150px;object-fit:contain}

/* WhatsApp Atendimento V6 */
.wa-banner{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px 16px;margin-bottom:12px}.wa-banner div{display:flex;gap:12px;align-items:center}.wa-banner span{font-size:13px;color:var(--muted)}.wa-dot{width:11px;height:11px;border-radius:50%;display:inline-block;background:#98a2b3;flex:0 0 auto}.wa-dot.on{background:#12b76a}.wa-toolbar{display:flex;align-items:center;gap:10px;margin:12px 0}.wa-filter{padding:8px 12px;border-radius:9px;background:#fff;border:1px solid var(--border);font-size:13px;font-weight:700}.wa-filter.active{background:#111;color:#fff}.wa-toolbar .muted{margin-left:auto;font-size:13px}.wa-list{display:flex;flex-direction:column;gap:8px}.wa-row{background:#fff;border:1px solid var(--border);border-radius:13px;padding:13px;display:flex;gap:12px;align-items:center}.wa-row:hover{border-color:#c7cdd5}.wa-avatar{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef7f1;color:#087443;font-weight:900;font-size:18px;flex:0 0 auto}.wa-row-main{min-width:0;flex:1}.wa-row-top{display:flex;justify-content:space-between;gap:10px}.wa-row-top span{font-size:11px;color:var(--muted)}.wa-preview{font-size:13px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:4px 0 7px}.wa-meta{display:flex;gap:10px;align-items:center;font-size:11px;color:#7a828c;flex-wrap:wrap}.wa-unread{min-width:23px;height:23px;padding:0 6px;border-radius:20px;background:#12b76a;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}.wa-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:16px}.wa-chat{padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:72vh}.wa-chat-head{padding:15px 18px;border-bottom:1px solid var(--border)}.wa-messages{flex:1;padding:18px;background:#f3f1ec;display:flex;flex-direction:column;gap:8px;overflow:auto}.wa-bubble-wrap{display:flex}.wa-bubble-wrap.out{justify-content:flex-end}.wa-bubble{max-width:75%;background:#fff;padding:9px 11px;border-radius:10px;box-shadow:0 1px 1px rgba(0,0,0,.05);font-size:14px}.wa-bubble-wrap.out .wa-bubble{background:#d9fdd3}.wa-bubble small{display:block;text-align:right;color:#7a828c;font-size:10px;margin-top:5px}.wa-compose{padding:12px;border-top:1px solid var(--border);display:flex;gap:10px;background:#fff}.wa-compose textarea{flex:1;min-height:48px;max-height:130px;border:1px solid #d8dde3;border-radius:10px;padding:11px;resize:vertical;font:inherit}.wa-send{background:#128c7e}.wa-side{display:flex;flex-direction:column;gap:12px}.wa-side h3{margin:0 0 12px}.wa-side select,.wa-side textarea{width:100%;padding:10px;border:1px solid #d8dde3;border-radius:9px;font:inherit}.wa-side textarea{min-height:74px;resize:vertical;margin-bottom:8px}.wa-full{width:100%;text-align:center;margin-top:9px}.wa-demo-box{border-style:dashed}.wa-config-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:16px}.wa-connection{display:flex;gap:12px;align-items:flex-start}.wa-connection .wa-dot{margin-top:5px}@media(max-width:900px){.wa-layout,.wa-config-grid{grid-template-columns:1fr}.wa-chat{min-height:65vh}}@media(max-width:600px){.wa-toolbar{flex-wrap:wrap}.wa-toolbar .muted{margin-left:0;width:100%}.wa-row{align-items:flex-start}.wa-bubble{max-width:88%}}

/* Construtor de fluxos WhatsApp V7 */
.flow-info{display:flex;gap:12px;align-items:center;margin-bottom:16px}.flow-info span{color:var(--muted);font-size:13px}.flow-list{display:flex;flex-direction:column;gap:10px}.flow-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.flow-title{display:flex;align-items:center;gap:9px;margin-bottom:6px}.flow-builder-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:22px 0 12px}.flow-builder-head h2{margin:0 0 4px}.flow-step{margin-bottom:12px;border-left:4px solid var(--gold)}.flow-step-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}.flow-step-top .link-danger{margin-left:auto}.drag{font-size:18px;color:#98a2b3}.hidden{display:none!important}.flow-save{position:sticky;bottom:12px;background:rgba(244,246,248,.94);padding:12px 0;margin-top:14px;backdrop-filter:blur(4px)}.flow-test-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px}.flow-phone{padding:0;overflow:hidden;min-height:68vh;display:flex;flex-direction:column}.flow-phone-head{background:#075e54;color:#fff;padding:15px 18px;font-weight:800}.flow-phone-head span{display:block;font-size:11px;font-weight:400;opacity:.8;margin-top:2px}.flow-chat-test{background:#efeae2;padding:18px;flex:1;display:flex;flex-direction:column;gap:8px}.flow-test-compose{background:#fff;border-top:1px solid var(--border);padding:12px;display:flex;gap:8px}.flow-test-compose>input{flex:1;padding:11px 12px;border:1px solid #d8dde3;border-radius:9px;font:inherit}.flow-option-grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.flow-option-grid .btn{text-align:left}.flow-complete{padding:16px;background:#ecfdf3;color:#067647;display:flex;flex-direction:column;gap:4px}.flow-answer{padding:10px 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:3px}.flow-answer span{font-size:13px;color:var(--muted)}@media(max-width:900px){.flow-test-layout{grid-template-columns:1fr}.flow-row,.flow-builder-head{align-items:flex-start;flex-direction:column}.flow-option-grid{grid-template-columns:1fr}}

/* Editor visual de fluxos WhatsApp V8 */
.visual-flow-meta{margin-bottom:12px}.vf-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:12px 0}.vf-tools-left,.vf-tools-right{display:flex;gap:8px;flex-wrap:wrap}.vf-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px;min-height:680px}.vf-canvas-wrap{position:relative;overflow:auto;border:1px solid #dfe3e8;border-radius:14px;background-color:#f8fafb;background-image:radial-gradient(#d9dee5 1.2px,transparent 1.2px);background-size:22px 22px;min-height:680px;box-shadow:inset 0 1px 2px rgba(16,24,40,.04)}.vf-canvas{position:relative;width:1900px;height:1250px;transform-origin:0 0}.vf-lines{position:absolute;inset:0;width:1900px;height:1250px;pointer-events:none;overflow:visible;z-index:1}.vf-lines marker path{fill:#98a2b3}.vf-line{fill:none;stroke:#98a2b3;stroke-width:2.2}.vf-start{position:absolute;left:48px;top:110px;width:135px;height:74px;border-radius:42px;background:#7db66d;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:3;box-shadow:0 5px 18px rgba(16,24,40,.14)}.vf-start span{font-weight:900;font-size:14px}.vf-start small{font-size:9px;margin-top:2px}.vf-start i{position:absolute;right:-10px;width:20px;height:20px;border:4px solid white;background:#7db66d;border-radius:50%;box-shadow:0 0 0 1px #aab2bc}.vf-node{position:absolute;width:250px;background:#fff;border:1px solid #cfd5dc;border-radius:14px;box-shadow:0 7px 22px rgba(16,24,40,.08);z-index:4;cursor:grab;user-select:none;transition:box-shadow .15s,border-color .15s}.vf-node:hover{box-shadow:0 10px 28px rgba(16,24,40,.13)}.vf-node.selected{border:2px solid var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.15),0 12px 30px rgba(16,24,40,.12)}.vf-node.connect-target{cursor:crosshair}.vf-node.connect-target:hover{outline:3px solid rgba(18,140,126,.25)}.vf-node-head{height:46px;border-radius:13px 13px 0 0;background:linear-gradient(90deg,var(--node),color-mix(in srgb,var(--node) 68%,#fff));padding:8px 10px;color:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center}.vf-node-head span{font-size:9px;font-weight:900;letter-spacing:1px;background:rgba(0,0,0,.16);padding:4px 6px;border-radius:6px}.vf-node-head b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vf-node-head button{border:0;background:rgba(0,0,0,.14);color:white;width:23px;height:23px;border-radius:7px;font-size:17px;cursor:pointer}.vf-node-body{padding:12px}.vf-node-body>strong{font-size:13px;display:block;line-height:1.35;margin-bottom:10px;white-space:normal}.vf-node-options{display:flex;flex-direction:column;gap:5px}.vf-node-options>div,.vf-node-next{position:relative;display:flex;justify-content:space-between;align-items:center;gap:7px;padding:6px 2px 6px 8px;border-radius:8px;background:#f7f8fa;font-size:11px}.vf-node-options b{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;border-radius:5px;background:#fff;border:1px solid #e1e5ea;margin-right:4px}.vf-port{width:15px!important;height:15px!important;min-width:15px;border:2px solid #98a2b3;background:#fff;border-radius:50%;padding:0!important;cursor:crosshair;box-shadow:0 0 0 2px #fff}.vf-port:hover,.vf-port.linked{background:#12b76a;border-color:#087443}.vf-final-action{font-size:11px;color:#667085;border-top:1px solid #eee;padding-top:8px}.vf-properties{background:#fff;border:1px solid #dfe3e8;border-radius:14px;padding:15px;height:680px;overflow:auto;position:sticky;top:14px}.vf-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#667085;gap:8px}.vf-empty b{color:#344054}.vf-prop-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:14px}.vf-prop-head>div{display:flex;flex-direction:column;gap:3px}.vf-prop-head span{font-size:10px;color:#667085;font-weight:800}.vf-prop-head button{border:0;background:#fff0f0;color:#b42318;font-weight:800;border-radius:7px;padding:6px 8px;cursor:pointer}.vf-properties .field{margin-bottom:13px}.vf-prop-section{border-top:1px solid var(--border);padding-top:13px;margin-top:5px}.vf-prop-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.vf-prop-title button{border:0;background:#f1f3f5;border-radius:7px;padding:6px 8px;font-weight:800;cursor:pointer}.vf-option-edit{border:1px solid #e4e8ed;border-radius:10px;padding:8px;margin-bottom:8px;background:#fafbfc}.vf-option-edit>div:first-child{display:grid;grid-template-columns:48px 1fr;gap:6px}.vf-option-edit input,.vf-option-edit select{width:100%;padding:8px;border:1px solid #d8dde3;border-radius:7px;font:inherit;font-size:12px}.vf-destination{display:grid;grid-template-columns:1fr 30px;gap:5px;margin-top:6px}.vf-destination button{border:0;border-radius:7px;background:#fff0f0;color:#b42318;font-size:18px;cursor:pointer}.vf-connect-note,.vf-hint{font-size:12px;color:#667085}.vf-hint{background:#fff;border:1px dashed #cfd5dc;border-radius:10px;padding:10px 12px;margin-top:10px}.vf-canvas-wrap.connecting:after{content:'Clique no bloco de destino • ESC para cancelar';position:sticky;left:50%;top:15px;transform:translateX(-50%);display:block;width:max-content;z-index:20;background:#101113;color:#fff;padding:8px 12px;border-radius:20px;font-size:12px;box-shadow:0 4px 16px rgba(0,0,0,.2)}.vf-dragging{cursor:grabbing!important}@media(max-width:1050px){.vf-workspace{grid-template-columns:1fr}.vf-properties{position:static;height:auto;min-height:260px}.vf-canvas-wrap{min-height:590px}.vf-toolbar{align-items:flex-start;flex-direction:column}}
