:root{--navy:#0d1b2a;--navy-soft:#1f3349;--cream:#f5f2ea;--cream-dark:#eae5d8;--accent:#e35b3e;--accent-dark:#c64a30;--ink:#1a2230;--muted:#6b7280;--line:#e4e0d4;--bottomnav-h:58px}*{box-sizing:border-box}body,html{padding:0;margin:0;overflow-x:hidden}body{background:var(--cream);color:var(--ink);font-family:-apple-system,Segoe UI,Inter,Arial,sans-serif;-webkit-text-size-adjust:100%}.app{display:flex;min-height:100vh;width:100%}.sidebar{width:220px;flex-shrink:0;background:var(--navy);color:var(--cream);display:flex;flex-direction:column;padding:20px 14px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{gap:10px;padding:6px 8px 22px}.brand,.brand-mark{display:flex;align-items:center}.brand-mark{width:28px;height:28px;border-radius:8px;background:var(--accent);color:#fff;font-weight:800;justify-content:center;font-size:14px;flex-shrink:0}.brand-name{font-weight:700;font-size:15px}.brand-sub{font-size:11px;color:#93a2b4}.nav{display:flex;flex-direction:column;gap:4px;flex:1 1}.nav-item{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:9px;border:none;background:transparent;color:#b9c3d0;cursor:pointer;font-size:13px;text-align:left}.nav-item:hover{background:var(--navy-soft);color:#fff}.nav-item-active{background:var(--accent);color:#fff}.sidebar-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--navy-soft)}.seller-name{font-size:12.5px;font-weight:600;word-break:break-word}.seller-role{font-size:10.5px;color:#93a2b4}.logout{background:none;border:none;color:#93a2b4;font-size:11.5px;cursor:pointer;padding:6px 0 0;text-decoration:underline}.bottomnav,.topbar{display:none}.main{flex:1 1;padding:28px 34px 60px;max-width:1180px;width:100%;min-width:0}.screen-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:22px;flex-wrap:wrap}h1{font-size:23px;margin:0 0 4px;letter-spacing:-.3px}.subtitle{margin:0;color:var(--muted)}.btn,.subtitle{font-size:13.5px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:9px;border:1px solid transparent;padding:9px 15px;font-weight:600;cursor:pointer}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover:not(:disabled){background:var(--accent-dark)}.btn-outline{background:transparent;border-color:var(--line);color:var(--ink)}.btn-outline:hover{background:var(--cream-dark)}.btn-sm{padding:6px 10px;font-size:12.5px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:20px}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;min-width:0;overflow:hidden}.kpi-value{font-size:clamp(15px,4.2vw,20px);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-label{font-size:12px;color:var(--muted);margin-top:2px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin-bottom:16px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:10px;flex-wrap:wrap}.panel-head h3{font-size:14.5px;margin:0}.empty{color:var(--muted);font-size:13px;padding:14px 4px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:8px;white-space:nowrap}.table td,.table th{border-bottom:1px solid var(--line)}.table td{padding:10px 8px}.table tr:last-child td{border-bottom:none}.mono{font-family:ui-monospace,Consolas,monospace;font-size:12.5px}.pill{padding:3px 10px;border-radius:100px;font-size:11.5px;font-weight:700;white-space:nowrap}.steps{display:flex;align-items:center;gap:6px;margin-bottom:18px;flex-wrap:wrap}.step{gap:8px;font-size:12.5px}.step,.step-dot{display:flex;align-items:center;color:var(--muted)}.step-dot{width:22px;height:22px;border-radius:50%;background:var(--cream-dark);justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.step-current .step-dot{background:var(--accent);color:#fff}.step-current span{color:var(--ink);font-weight:700}.step-done .step-dot{background:var(--navy);color:#fff}.step-line{width:26px;height:1px;background:var(--line)}.search-box{background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin-bottom:14px;width:100%}.search-box input{border:none;background:transparent;outline:none;width:100%;font-size:14px;color:var(--ink)}.client-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.client-card{position:relative;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:13px 14px;cursor:pointer;min-width:0;width:100%}.client-card-active{border-color:var(--accent);background:#fff7f4}.client-card-name{font-size:13.5px;font-weight:700;margin-bottom:2px;word-break:break-word}.client-card-sub{font-size:11.5px;color:var(--muted);word-break:break-word}.wizard-foot{display:flex;align-items:center;justify-content:space-between;margin-top:16px;gap:10px;flex-wrap:wrap}.hint{font-size:12.5px;color:var(--muted)}.foot-actions{display:flex;gap:10px;flex-wrap:wrap}.module-group{margin-bottom:18px}.module-group-title{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-dark);margin-bottom:8px}.module-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line);gap:10px;flex-wrap:wrap}.module-row:last-child{border-bottom:none}.check{display:flex;align-items:center;gap:8px;font-size:13px;min-width:0;flex:1 1}.check input{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0}.check span{word-break:break-word}.module-inputs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.module-inputs input{width:74px;border:1px solid var(--line);border-radius:7px;padding:7px;font-size:14px}.unit{font-size:11.5px;white-space:nowrap}.field,.unit{color:var(--muted)}.field{display:flex;flex-direction:column;gap:5px;font-size:12px;flex:1 1;margin-bottom:10px;min-width:0}.field input{border:1px solid var(--line);border-radius:8px;padding:10px;font-size:14px;color:var(--ink);width:100%}.field-row{display:flex;gap:12px}.review-total{display:flex;align-items:center;justify-content:space-between;padding:10px 4px;border-top:1px solid var(--line);font-size:13.5px;gap:10px}.review-total strong{font-size:15px;white-space:nowrap}.banner{display:flex;align-items:flex-start;gap:8px;background:#e9f7ee;color:#1e7a45;border:1px solid #cdebd9;border-radius:10px;padding:10px 12px;font-size:12.5px;margin-top:14px}.banner-error{background:#fbeaea;color:#b23b3b;border-color:#f3d3d3}.kanban{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.kanban-col{background:hsla(43,30%,88%,.4);border-radius:14px;padding:12px;min-height:180px;min-width:0}.kanban-col-head{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;margin-bottom:10px}.kanban-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kanban-count{margin-left:auto;background:#fff;border-radius:100px;padding:1px 8px;font-size:11px;color:var(--muted)}.kanban-col-body{display:flex;flex-direction:column;gap:10px}.kanban-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;min-width:0}.kanban-card-client{font-size:13px;font-weight:700;margin-bottom:3px;word-break:break-word}.kanban-card-meta{font-size:11px;color:var(--muted);margin-bottom:10px}.kanban-select{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px;font-size:14px;background:var(--cream)}.modal-overlay{position:fixed;inset:0;background:rgba(13,27,42,.45);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal{background:#fff;border-radius:16px;width:100%;max-width:440px;padding:20px;max-height:88vh;overflow-y:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal-head h3{margin:0;font-size:15px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--navy);width:100%}.auth-card{background:#fff;border-radius:18px;padding:28px;width:100%;max-width:380px}.auth-brand{display:flex;align-items:center;gap:8px;margin-bottom:18px}.toast{position:fixed;bottom:20px;right:20px;background:var(--navy);color:#fff;padding:12px 16px;border-radius:12px;font-size:13px;z-index:60;max-width:320px}.center-load{padding:60px;text-align:center;color:var(--muted);font-size:14px}@media (max-width:860px){.app{flex-direction:column}.sidebar{display:none}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--navy);color:var(--cream);padding:10px 14px;position:-webkit-sticky;position:sticky;top:0;z-index:30}.topbar-brand{gap:8px}.topbar-brand,.topbar-user{display:flex;align-items:center;min-width:0}.topbar-user{gap:10px}.topbar-name{font-size:12px;color:#b9c3d0;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-logout{background:var(--navy-soft);border:none;color:#dfe5ec;font-size:12px;padding:7px 12px;border-radius:8px;cursor:pointer;flex-shrink:0}.bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:40;padding-bottom:env(safe-area-inset-bottom)}.bottomnav-item{flex:1 1;border:none;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px;color:var(--muted);font-size:11px;font-weight:600;min-width:0}.bottomnav-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.bottomnav-icon{font-size:16px;line-height:1}.bottomnav-item-active{color:var(--accent)}.main{padding:16px 14px calc(var(--bottomnav-h) + 28px)}h1{font-size:19px}.subtitle{font-size:12.5px}.screen-head{align-items:flex-start;margin-bottom:16px}.screen-head .btn{width:100%}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:10px}.kpi-card{padding:12px}.kpi-label{font-size:11px}.panel{padding:14px;border-radius:14px}input,select,textarea{font-size:16px!important}.client-grid{grid-template-columns:1fr}.field-row{flex-direction:column;gap:0}.module-row{flex-direction:column;align-items:stretch;gap:8px}.module-inputs{justify-content:flex-start}.module-inputs input{flex:1 1;min-width:0;max-width:110px}.steps{gap:4px}.step{font-size:11.5px;gap:5px}.step-line{width:10px}.wizard-foot{flex-direction:column-reverse;align-items:stretch}.wizard-foot .btn{width:100%}.foot-actions{flex-direction:column;width:100%}.hint{text-align:center}.kanban{grid-template-columns:1fr;gap:10px}.kanban-col{min-height:0}.toast{left:14px;right:14px;bottom:calc(var(--bottomnav-h) + 14px);max-width:none}.modal{max-height:86vh}}@media (max-width:380px){.topbar-name{max-width:82px}.bottomnav-item{font-size:10px}}.pub-wrap{min-height:100vh;display:flex;justify-content:center;padding:24px 14px 60px;background:var(--cream)}.pub-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;width:100%;max-width:720px}.pub-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.pub-head .brand-name{color:var(--ink)}.pub-head .brand-sub{color:var(--muted)}.pub-numero{font-family:ui-monospace,Consolas,monospace;font-size:13px;background:var(--cream);padding:5px 10px;border-radius:8px}.pub-meta{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;font-size:13px;margin:16px 0}.pub-carta{font-size:13.5px;color:#3c4453;line-height:1.55;margin:0 0 20px}.pub-h3{font-size:14px;margin:0 0 10px}.pub-rodape{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.pub-expira{margin-top:8px;background:var(--cream);border-radius:8px;padding:10px 12px;line-height:1.5}.pub-aviso{text-align:center;max-width:420px}.pub-aviso .brand-mark{margin:0 auto 14px}.pub-aviso h2{font-size:17px;margin:0 0 8px}.pub-aviso p{font-size:13px;color:var(--muted);margin:0;line-height:1.55}@media (max-width:620px){.pub-meta{grid-template-columns:1fr}.pub-card{padding:18px}}.link-box{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.link-row{align-items:flex-end}.link-out,.link-row{display:flex;gap:10px;flex-wrap:wrap}.link-out{align-items:center;margin-top:12px;background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.link-out code{font-size:12px;word-break:break-all;flex:1 1;min-width:0}@media (max-width:620px){.link-row{flex-direction:column;align-items:stretch}.link-row .btn{width:100%}.link-row .field{max-width:none!important}.link-out .btn{width:100%}}.admin-tabs{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:0}.admin-tab{background:transparent;padding:10px 4px;margin-right:18px;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;border:none;border-bottom:2px solid transparent}.admin-tab:hover{color:var(--ink)}.admin-tab-active{color:var(--accent-dark);border-bottom-color:var(--accent)}.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.filter-row input,.filter-row select{border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:13px;background:#fff;color:var(--ink)}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:100px;font-size:11px;font-weight:700;white-space:nowrap}.badge-cargo-diretor{color:#b23b3b;background:#fbeaea}.badge-cargo-gerente{color:#c08a1e;background:#fbf2df}.badge-cargo-vendedor{color:#6b7280;background:#f1f1f0}.access-restrito{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:20px}.access-restrito-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;max-width:420px;text-align:center}.mensagem-textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;font-size:13.5px;font-family:inherit;color:var(--ink);line-height:1.5;resize:vertical}.catalog-row{display:grid;grid-template-columns:1.4fr 2fr 1fr 1fr .6fr auto;grid-gap:8px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--line)}.catalog-row input[type=number],.catalog-row input[type=text]{border:1px solid var(--line);border-radius:7px;padding:7px;font-size:13px;width:100%}@media (max-width:860px){.catalog-row{grid-template-columns:1fr;gap:6px}}