:root{--green:#0A2621;--green2:#183b34;--gold:#B78D49;--cream:#F8F2E7;--paper:#fffdf8;--ink:#20312d;--muted:#73817b;--line:#e8e3d9;--red:#a54d3e;--shadow:0 12px 36px #0a262111}
*{box-sizing:border-box}body{margin:0;background:#f4f2ed;color:var(--ink);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh}.top{background:var(--green);color:#fff;padding:20px max(calc((100vw - 1240px)/2),24px);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px}.brand-logo{width:190px;height:48px;object-fit:contain;background:#fff;border-radius:8px;padding:4px 8px;display:block}.approach-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.approach-choice label{border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff;color:var(--green);font-weight:750;cursor:pointer}.approach-choice label:has(input:checked){border-color:var(--gold);background:var(--cream);box-shadow:0 0 0 2px #b78d4922}.approach-choice input{accent-color:var(--green);margin-right:5px}.routine-image{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line)}.commercial-image{display:block;width:100%;height:auto;max-height:calc(100vh - 220px);object-fit:contain;border-radius:10px}.routine-card{margin:16px 0}.routine-card figcaption{font-weight:700;color:var(--green);margin-bottom:10px}.approach-choice small{display:block;color:var(--muted);font-weight:400;margin:4px 0 0 22px}.brand strong{display:block;font-size:16px;letter-spacing:.04em}.brand small{color:#c2d0ca}.cloud{color:#dfd1b1;font-size:12px}.wrap{max-width:1240px;margin:0 auto;padding:24px}.hero{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:6px 0 22px}.eyebrow{text-transform:uppercase;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.12em}.hero h1{margin:4px 0 3px;color:var(--green);font-size:28px;letter-spacing:-.03em}.hero p{color:var(--muted);margin:0}.actions{display:flex;gap:9px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#fff;color:var(--green);border-radius:10px;padding:10px 14px;font-weight:700;box-shadow:0 2px 5px #00000007}.btn:hover{border-color:var(--gold)}.btn.primary{background:var(--green);color:white;border-color:var(--green)}.btn.gold{background:var(--gold);color:#fff;border-color:var(--gold)}.btn.danger{background:#fff;color:#9b3425;border-color:#dfa69d}.btn.danger:hover{background:#fae2dc;border-color:#c96959}.btn.ghost{background:transparent;color:inherit;box-shadow:none;border-color:#ffffff44}.nav{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow:auto}.nav button{border:0;background:transparent;color:var(--muted);padding:12px 16px;border-bottom:3px solid transparent;font-weight:700;white-space:nowrap}.nav button.active{color:var(--green);border-color:var(--gold)}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.stat label{color:var(--muted);font-size:12px;font-weight:700}.stat strong{display:block;color:var(--green);font-size:26px;line-height:1.3;margin:4px 0}.stat span{font-size:12px;color:var(--muted)}.cols{grid-template-columns:1.25fr .75fr}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px}.section-title h2{font-size:16px;margin:0;color:var(--green)}.section-title span{font-size:12px;color:var(--muted)}.bar-row{display:grid;grid-template-columns:minmax(145px,1.1fr) 2fr 48px;align-items:center;gap:12px;margin:11px 0;font-size:12px}.bar{height:8px;background:#ece8df;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:var(--gold);border-radius:99px}.stage-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stage{border:1px solid var(--line);border-radius:12px;padding:12px}.stage strong{display:block;color:var(--green);font-size:13px}.stage small{color:var(--muted)}.notice{background:var(--cream);border:1px solid #eadcc4;color:#5e4a2a;padding:13px 15px;border-radius:12px;margin:0 0 16px;font-size:13px}.empty{padding:40px 24px;text-align:center}.empty h2{color:var(--green);margin:8px 0}.empty p{max-width:610px;margin:0 auto 18px;color:var(--muted)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.field{display:flex;flex-direction:column;gap:5px;min-width:140px;flex:1}.field label{font-weight:700;font-size:12px;color:var(--muted)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 11px;background:#fff;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #b78d4922}.field textarea{resize:vertical;min-height:85px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}table{border-collapse:collapse;width:100%;min-width:680px}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left}th{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:#fbfaf7;position:sticky;top:0}td{font-size:13px}tr:last-child td{border-bottom:0}.link{border:0;padding:0;background:none;color:var(--green);font-weight:750;text-align:left}.link:hover{color:var(--gold);text-decoration:underline}.pill{display:inline-flex;padding:4px 8px;border-radius:99px;font-size:11px;font-weight:750;background:#f0eee9;color:#5e655f}.pill.ok{background:#e8f1eb;color:#296043}.pill.warn{background:#fbefdc;color:#805b21}.pill.bad{background:#f8e8e5;color:#91483d}.pill.attention{background:#fae2dc;color:#9b3425;border:1px solid #e9a194;font-size:12px;padding:5px 10px}.topic:has(.pill.attention){border:1px solid #e7a092;background:#fff8f6}.topic:has(.pill.attention) select{border-color:#e7a092}.mini{font-size:12px;color:var(--muted)}.profile-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.profile-head h2{margin:2px 0;color:var(--green)}.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.topic{border:1px solid var(--line);border-radius:12px;padding:12px}.topic-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.topic strong{color:var(--green)}.topic select{width:100%;margin-top:8px;border:1px solid var(--line);border-radius:8px;padding:8px;background:white}.message{background:#f4f2ed;border-radius:10px;padding:13px;white-space:pre-wrap;font-size:13px}.spin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spin-card{border-left:3px solid var(--gold)}.spin-card h3{margin:0 0 6px;color:var(--green);font-size:13px}.footer{color:var(--muted);font-size:11px;text-align:center;padding:24px}.hide{display:none!important}.modal-back{position:fixed;inset:0;background:#06171388;display:grid;place-items:center;padding:20px;z-index:10}.modal{width:min(820px,100%);max-height:90vh;overflow:auto;background:var(--paper);padding:22px;border-radius:18px;box-shadow:0 25px 80px #0004}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-head h2{margin:0;color:var(--green)}.x{border:0;background:transparent;font-size:24px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.full{grid-column:1/-1}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:11px 16px;border-radius:10px;z-index:20;box-shadow:var(--shadow)}
@media(max-width:800px){.stats{grid-template-columns:repeat(2,1fr)}.cols{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}.top{padding:16px 20px}.wrap{padding:18px}.cloud{display:none}}@media(max-width:520px){.stats,.topic-grid,.spin-grid,.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.hero h1{font-size:24px}.profile-head{flex-direction:column}}

.brand small{display:block;color:#f2ebdd;font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:21px;letter-spacing:.075em;line-height:1.15;text-shadow:0 1px 1px #0003}
.commercial-map{position:relative;width:100%;line-height:0}.commercial-image{display:block;width:100%;height:auto;max-height:none;object-fit:initial;border-radius:10px}.commercial-hotspot{position:absolute;z-index:2;padding:0;border:2px solid transparent;border-radius:12px;background:transparent;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.commercial-hotspot:hover,.commercial-hotspot:focus-visible{background:#b78d4926;border-color:#b78d49;box-shadow:0 0 0 2px #fff9;outline:none}.commercial-hotspot:focus-visible{border-color:#0b2b25;box-shadow:0 0 0 3px #d8b771}.flow-hint{margin:14px 2px 0;color:var(--muted);font-size:13px}.routine-progress{display:inline-flex;align-items:center;border-radius:999px;background:#f3eee2;color:var(--green);padding:8px 12px;font-size:13px;font-weight:800;white-space:nowrap}.routine-flow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 9%;padding:14px 8px 8px}.routine-step{position:relative;display:flex;align-items:center;gap:16px;min-height:112px;padding:20px 24px;border:0;border-top:6px solid var(--gold);border-radius:16px;background:var(--green);color:#f7f2e9;text-align:left;cursor:pointer;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s,background .15s}.routine-step:hover{transform:translateY(-2px);box-shadow:0 9px 22px #102d261f}.routine-step:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.routine-step.done{background:#19483e}.routine-step-number{display:grid;place-items:center;flex:0 0 50px;height:50px;border-radius:50%;background:var(--gold);color:var(--green);font-size:22px;font-weight:900}.routine-step-copy{display:flex;flex-direction:column;gap:7px}.routine-step-copy strong{text-transform:uppercase;font-size:clamp(16px,2.2vw,23px);line-height:1.15}.routine-step-copy small{color:#dfbb75;font-size:16px}.routine-state{position:absolute;right:13px;bottom:10px;color:#dfbb75;font-size:12px;font-weight:800}.routine-step.done .routine-state{color:#c5e5cb}.routine-arrow{position:absolute;right:-40px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:28px;font-weight:900;pointer-events:none}.routine-step:nth-child(2) .routine-arrow,.routine-step:nth-child(4) .routine-arrow{right:auto;left:50%;top:auto;bottom:-31px;transform:translateX(-50%)}.routine-step:nth-child(3) .routine-arrow{right:auto;left:-38px}.routine-step:nth-child(4){grid-column:1;grid-row:2}.routine-step:nth-child(3){grid-column:2;grid-row:2}.routine-step:nth-child(5){grid-column:1;grid-row:3}.routine-step:nth-child(6){grid-column:2;grid-row:3}.routine-step:nth-child(5) .routine-arrow{right:-40px}.routine-step:nth-child(6) .routine-arrow{display:none}.routine-card{margin:18px 0}.routine-image{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line)}.flow-modal{max-width:640px}.flow-modal-text{font-size:16px;line-height:1.65;color:var(--ink)}.flow-detail{margin:16px 0;padding:14px 16px;border-left:4px solid var(--gold);border-radius:8px;background:#f5f1e8}.flow-detail p{margin:6px 0 0;line-height:1.55}.modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
@media(max-width:700px){.routine-flow{grid-template-columns:1fr;gap:16px;padding:10px 0}.routine-step,.routine-step:nth-child(3),.routine-step:nth-child(4),.routine-step:nth-child(5),.routine-step:nth-child(6){grid-column:1;grid-row:auto;min-height:100px;padding:18px}.routine-step .routine-arrow,.routine-step:nth-child(2) .routine-arrow,.routine-step:nth-child(3) .routine-arrow,.routine-step:nth-child(4) .routine-arrow,.routine-step:nth-child(5) .routine-arrow{display:block;right:auto;left:50%;top:auto;bottom:-24px;transform:translateX(-50%);font-size:21px}.routine-step:nth-child(6) .routine-arrow{display:none}.section-title{align-items:flex-start;gap:10px;flex-wrap:wrap}.commercial-hotspot{border-radius:6px}}

.routine-flow{display:flex!important;flex-direction:column;align-items:stretch;gap:32px;max-width:900px;margin:15px auto;padding:8px 0}.routine-step,.routine-step:nth-child(3),.routine-step:nth-child(4),.routine-step:nth-child(5),.routine-step:nth-child(6){width:100%;grid-column:auto;grid-row:auto;min-height:112px}.routine-step .routine-arrow,.routine-step:nth-child(2) .routine-arrow,.routine-step:nth-child(3) .routine-arrow,.routine-step:nth-child(4) .routine-arrow,.routine-step:nth-child(5) .routine-arrow{display:block;right:auto;left:50%;top:auto;bottom:-31px;transform:translateX(-50%);font-size:25px}.routine-step:nth-child(6) .routine-arrow{display:none}@media(max-width:700px){.routine-flow{gap:28px}.routine-step,.routine-step:nth-child(3),.routine-step:nth-child(4),.routine-step:nth-child(5),.routine-step:nth-child(6){min-height:96px}}

.routine-flow{max-width:560px!important;gap:26px!important;margin:12px auto!important;padding:4px 0!important}.routine-step,.routine-step:nth-child(3),.routine-step:nth-child(4),.routine-step:nth-child(5),.routine-step:nth-child(6){min-height:78px!important;padding:11px 18px!important;gap:12px!important;border-top-width:4px!important}.routine-step-number{flex-basis:40px!important;width:40px!important;height:40px!important;font-size:18px!important}.routine-step-copy strong{font-size:18px!important}.routine-step-copy small{font-size:14px!important}.routine-state{right:12px!important;bottom:8px!important;font-size:11px!important}.routine-step .routine-arrow,.routine-step:nth-child(2) .routine-arrow,.routine-step:nth-child(3) .routine-arrow,.routine-step:nth-child(4) .routine-arrow,.routine-step:nth-child(5) .routine-arrow{display:flex!important;align-items:center;justify-content:center;width:40px;height:30px;right:auto!important;left:50%!important;top:auto!important;bottom:-28px!important;transform:translateX(-50%)!important;color:var(--gold);z-index:3}.routine-arrow svg{display:block;width:38px;height:30px;overflow:visible}.routine-arrow svg path{fill:none;stroke:var(--gold);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.routine-step:nth-child(6) .routine-arrow{display:none!important}@media(max-width:700px){.routine-flow{max-width:540px!important;gap:24px!important}.routine-step,.routine-step:nth-child(3),.routine-step:nth-child(4),.routine-step:nth-child(5),.routine-step:nth-child(6){min-height:72px!important;padding:10px 14px!important}.routine-step-copy strong{font-size:16px!important}.routine-step-copy small{font-size:13px!important}.routine-state{right:8px!important}}


.access-gate{max-width:520px;margin:48px auto;padding:0 20px}.access-card{background:#fffdf8;border:1px solid #e8e3d9;border-radius:18px;padding:30px;box-shadow:0 18px 44px #0a262115}.access-card h1{font-size:27px;color:var(--green);margin:4px 0 8px}.access-card p{color:var(--muted);margin:0 0 22px}.access-card .field{margin:15px 0}.access-card .btn{width:100%;margin-top:8px}.access-note{font-size:12px!important;margin:14px 0 0!important}.access-error{color:#a54d3e!important;min-height:20px;font-weight:700}.access-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;background:#fffdf8;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0 0 16px}.access-toolbar .field{min-width:min(340px,100%)}.access-toolbar strong{color:var(--green)}
@media(max-width:600px){.access-toolbar{align-items:stretch;flex-direction:column}}
.client-movement-box{border:1px solid #e8e3d9;border-radius:10px;background:#f8f2e7;padding:9px 12px;min-width:210px;color:#0a2621;font-size:12px;line-height:1.5}.client-movement-box>div{display:flex;gap:12px;margin-top:3px}.client-movement-box small{display:block;color:#73817b;margin-top:2px}.check-row{display:flex;align-items:center;gap:9px;margin:10px 0;color:var(--ink);font-weight:650}.check-row input{accent-color:var(--green)}

/* ===== Versão web (PHP/MySQL): verificação em duas etapas e aba Acessos — mesmos tokens visuais ===== */
.subnav{margin-bottom:16px}.subnav button{padding:10px 14px}
.access-toolbar .actions{flex-wrap:nowrap}
.btn:disabled{opacity:.6;cursor:not-allowed}
.qr-box{display:flex;justify-content:center;margin:14px 0}.qr-box svg{width:200px;height:200px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:6px}
.totp-steps{margin:0 0 6px 18px;padding:0;color:var(--ink)}.totp-steps li{margin:4px 0}
.totp-secret{display:inline-block;margin-top:6px;padding:5px 9px;border-radius:8px;background:#f4f2ed;font:700 13px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em;word-break:break-all;color:var(--green)}
.field input.code-input{font:700 20px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.28em;text-align:center}
.recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.recovery-grid code{display:block;text-align:center;padding:9px;border:1px dashed var(--gold);border-radius:9px;background:var(--cream);font:700 14px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;color:var(--green)}
.perm-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.perm-group{border:1px solid var(--line);border-radius:12px;padding:8px 14px 10px;margin:0;min-width:0}.perm-group legend{padding:0 6px;font-weight:800;color:var(--green);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.perm-group .check-row{margin:7px 0;font-weight:600}
.field small.mini{display:block;margin-top:2px}
.notice code{display:inline-block;margin-top:4px;font:600 12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#fffdf8;border:1px solid #eadcc4;padding:3px 7px;border-radius:6px;word-break:break-all}
.link-box{display:flex;gap:8px;align-items:center}.link-box input{flex:1}
@media(max-width:700px){.perm-groups,.recovery-grid{grid-template-columns:1fr}.access-toolbar .actions{flex-wrap:wrap}}
