:root{--navy:#102532;--navy2:#0D314E;--teal:#14A090;--cyan:#18D0C5;--text:#233746;--muted:#667887;--surface:#F4F7FA;--border:#DCE6EC;--white:#fff;--shadow:0 14px 40px rgba(16,37,50,.08);--radius:18px}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--surface);color:var(--text)}a{text-decoration:none;color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr}.sidebar{background:linear-gradient(180deg,var(--navy),#0b1c27);color:white;padding:24px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:6px 8px 24px}.brand img{width:118px;height:auto;background:white;border-radius:10px;padding:7px}.brand strong,.brand span{display:block}.brand strong{font-size:14px}.brand span{font-size:11px;opacity:.62;margin-top:3px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar nav a{padding:11px 12px;border-radius:11px;display:flex;gap:10px;align-items:center;color:#d9e5eb;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(24,208,197,.13);color:white}.sidebar nav a.active{box-shadow:inset 3px 0 0 var(--cyan)}.nav-sep{height:1px;background:rgba(255,255,255,.09);margin:10px 8px}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:16px 8px 4px}.sidebar-foot span,.sidebar-foot small{display:block}.sidebar-foot span{font-size:12px}.sidebar-foot small{font-size:10px;opacity:.58;margin-top:5px;line-height:1.45}.main{min-width:0}.topbar{height:76px;background:white;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:10}.topbar>div:first-child{display:flex;align-items:baseline;gap:12px}.product-kicker{color:var(--teal);font-size:11px;font-weight:800;letter-spacing:.12em}.userbox{display:flex;align-items:center;gap:9px;font-size:13px}.role,.tag{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--border);padding:5px 8px;border-radius:999px;color:var(--muted)}.userbox button{border:0;background:transparent;color:var(--muted);cursor:pointer}.content{padding:34px;max-width:1440px;margin:auto}.hero{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:28px 30px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow);margin-bottom:22px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--teal);font-weight:800}.hero h1{font-size:30px;margin:8px 0 7px;color:var(--navy)}.hero p{margin:0;color:var(--muted);max-width:720px}.status-badge{background:#eaf8f6;color:#0a776e;border:1px solid #c9efea;padding:9px 12px;border-radius:999px;font-size:12px;font-weight:700}.status-badge span{display:inline-block;width:7px;height:7px;background:var(--teal);border-radius:50%;margin-right:7px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.metric{background:white;border:1px solid var(--border);border-radius:16px;padding:20px;display:flex;gap:15px;box-shadow:var(--shadow)}.metric-icon{width:42px;height:42px;border-radius:12px;background:#eaf8f6;color:var(--teal);display:grid;place-items:center;font-weight:800}.metric span,.metric small{display:block}.metric span{font-size:12px;color:var(--muted)}.metric strong{display:block;font-size:22px;color:var(--navy);margin:4px 0}.metric small{font-size:10px;color:#8796a1}.panel{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:26px 28px;box-shadow:var(--shadow);margin-bottom:22px}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel h2{margin:6px 0 0;color:var(--navy)}.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:24px}.timeline>div{border:1px solid var(--border);border-radius:14px;padding:16px}.timeline b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#eef3f6;color:var(--muted);margin-bottom:12px}.timeline .done{border-color:#b9e9e3;background:#f5fcfb}.timeline .done b{background:var(--teal);color:white}.timeline span,.timeline small{display:block}.timeline strong{font-size:13px;color:var(--navy)}.timeline small{font-size:11px;color:var(--muted);line-height:1.5;margin-top:5px}.warning{border:1px solid #d9e8ef;background:#eef6fa;border-radius:14px;padding:16px 18px;display:flex;gap:10px;align-items:center;font-size:12px;color:#36566a}.placeholder{text-align:center;padding:65px 30px}.placeholder-icon{font-size:34px;color:var(--teal)}.placeholder p{max-width:650px;margin:10px auto;color:var(--muted);line-height:1.6}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(140deg,var(--navy),var(--navy2));padding:24px}.login-card{width:min(440px,100%);background:white;border-radius:24px;padding:38px;box-shadow:0 30px 80px rgba(0,0,0,.24)}.login-logo{width:160px;height:auto;margin-bottom:24px}.login-kicker{display:block;color:var(--teal);font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.login-card h1{font-size:28px;color:var(--navy);margin:8px 0}.login-card>p{color:var(--muted);font-size:14px;line-height:1.55}.login-card label{display:block;font-size:12px;font-weight:700;margin-top:16px}.login-card input{width:100%;margin-top:7px;padding:13px 14px;border:1px solid var(--border);border-radius:11px;outline:none;font:inherit}.login-card input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(20,160,144,.1)}.primary{width:100%;margin-top:20px;background:var(--teal);color:white;border:0;border-radius:11px;padding:13px;font-weight:800;cursor:pointer}.security-note{margin-top:20px;padding:12px;background:var(--surface);border-radius:10px;color:var(--muted);font-size:11px;line-height:1.45}.error{background:#fff2f2;color:#9a3535;border:1px solid #ffd5d5;padding:10px 12px;border-radius:9px;font-size:12px;margin-top:14px}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:1fr 1fr}.app-shell{grid-template-columns:220px 1fr}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;height:auto}.sidebar nav{display:grid;grid-template-columns:1fr 1fr}.sidebar-foot{display:none}.topbar{padding:0 18px}.content{padding:18px}.cards{grid-template-columns:1fr}.timeline{grid-template-columns:1fr}.hero{align-items:flex-start;gap:18px;flex-direction:column}.userbox .role{display:none}.topbar>div:first-child{display:block}.product-kicker{display:block;margin-bottom:3px}}@media(max-width:460px){.sidebar nav{grid-template-columns:1fr}.login-card{padding:28px 22px}.topbar{height:68px}.hero h1{font-size:25px}}
/* Alpha 2 - CRUD administrativo */
.hero.compact{padding:22px 26px}.hero.compact h1{font-size:27px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);background:white;color:var(--navy);padding:10px 13px;border-radius:10px;font-size:12px;font-weight:750;cursor:pointer;white-space:nowrap}.btn:hover{border-color:#b8ccd7}.btn.primary-inline{background:var(--teal);border-color:var(--teal);color:white}.btn.ghost{background:transparent}.btn.small{padding:7px 9px;font-size:11px}.filters{display:grid;grid-template-columns:minmax(240px,1.8fr) minmax(150px,.7fr) minmax(150px,.7fr) auto auto;gap:10px;margin-bottom:20px}.filters input,.filters select,.entity-form input,.entity-form select,.entity-form textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:11px 12px;font:inherit;color:var(--text);background:white;outline:none}.filters input:focus,.filters select:focus,.entity-form input:focus,.entity-form select:focus,.entity-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(20,160,144,.09)}.table-responsive{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:860px}.data-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--border)}.data-table td{padding:14px 12px;border-bottom:1px solid #edf2f5;font-size:13px;vertical-align:middle}.data-table td strong,.data-table td small{display:block}.data-table td small{font-size:11px;color:var(--muted);margin-top:4px}.data-table tr:last-child td{border-bottom:0}.type-pill{display:inline-block;background:#eef6fa;color:#36566a;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.status{display:inline-block;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.status.on{background:#eaf8f6;color:#0a776e}.status.off{background:#f0f2f4;color:#6f7d86}.actions{display:flex;gap:6px;justify-content:flex-end}.actions form{margin:0}.empty{text-align:center;color:var(--muted);padding:35px}.form-panel{max-width:1000px}.form-section{border-bottom:1px solid #edf2f5;padding-bottom:22px;margin-bottom:22px}.form-section h2{font-size:16px;margin:0 0 15px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.form-grid label,.entity-form>label{font-size:11px;font-weight:750;color:#4d606d}.form-grid label input,.form-grid label select,.form-grid label textarea{margin-top:7px;font-weight:400}.span2{grid-column:span 2}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.entity-form .error{margin-bottom:20px}@media(max-width:980px){.filters{grid-template-columns:1fr 1fr}.filters input{grid-column:span 2}.form-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.filters{grid-template-columns:1fr}.filters input{grid-column:auto}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.hero.compact{align-items:stretch}.hero.compact .btn{width:100%}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}

/* Alpha 2.1 - consulta assistida de CNPJ */
.lookup-row{display:flex;gap:8px;align-items:center;margin-top:7px}.lookup-row input{margin-top:0!important;min-width:0}.lookup-btn{flex:0 0 auto}.field-help{display:block;margin-top:6px;color:var(--muted);font-size:10px;font-weight:500;line-height:1.4}.lookup-status{min-height:17px;margin-top:6px;font-size:10px;font-weight:700}.lookup-status.loading-state{color:#4c6f82}.lookup-status.success-state{color:#0a776e}.lookup-status.error-state{color:#9a3535}.lookup-btn:disabled{opacity:.55;cursor:wait}@media(max-width:650px){.lookup-row{align-items:stretch;flex-direction:column}.lookup-row .btn{width:100%}}

/* Alpha 3 */
.quotes-filter{grid-template-columns:minmax(260px,1fr) 190px auto auto}.status.quote-rascunho{background:#eef3f6;color:#536b7a}.status.quote-enviado{background:#eef6fa;color:#36566a}.status.quote-aprovado{background:#eaf8f6;color:#0a776e}.status.quote-recusado,.status.quote-cancelado{background:#fff1f1;color:#963636}.form-panel.wide{max-width:none}.section-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.quote-items{min-width:1050px}.quote-items select,.quote-items input{width:100%;border:1px solid var(--border);border-radius:8px;padding:8px}.quote-items .item-desc{min-width:270px}.quote-items .catalog-select{min-width:230px}.quote-bottom{display:grid;grid-template-columns:1fr 330px;gap:28px}.quote-bottom textarea{width:100%;margin-top:7px;border:1px solid var(--border);border-radius:10px;padding:12px;font:inherit}.quote-totals{border:1px solid var(--border);border-radius:14px;padding:16px;background:var(--surface)}.quote-totals>div{display:flex;justify-content:space-between;padding:7px 4px}.quote-totals label{display:grid;grid-template-columns:1fr 130px;gap:10px;align-items:center;padding:7px 4px;font-size:12px}.quote-totals input{width:100%;border:1px solid var(--border);border-radius:8px;padding:8px}.quote-totals .grand{border-top:1px solid var(--border);margin-top:6px;padding-top:12px;font-size:18px;color:var(--navy)}.hero-actions{display:flex;gap:8px}.proposal-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.proposal-head p{color:var(--muted);font-size:12px}.view-total{display:flex;justify-content:flex-end;gap:22px;margin-top:20px;color:var(--muted)}.view-total .grand{font-size:17px;color:var(--navy)}.notes{background:var(--surface);padding:16px;border-radius:12px;margin-top:22px}.notes p{white-space:pre-wrap;color:var(--muted)}.status-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--border);margin-top:22px;padding-top:18px}.inline-user{display:grid;grid-template-columns:1fr 1.4fr 180px auto;gap:10px;margin-top:16px}.inline-user input,.inline-user select,.user-manage input,.user-manage select{border:1px solid var(--border);border-radius:10px;padding:9px;font:inherit}.user-manage{display:flex;gap:6px;margin-bottom:6px}.settings-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.7fr);gap:22px;align-items:start}.settings-grid .entity-form>label{display:block;margin-top:15px}.settings-grid textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:11px;font:inherit}.success{background:#eaf8f6;color:#0a776e;border:1px solid #c9efea;padding:10px 12px;border-radius:9px;font-size:12px}.page-error{margin-bottom:18px}@media(max-width:1050px){.quote-bottom,.settings-grid{grid-template-columns:1fr}.inline-user{grid-template-columns:1fr 1fr}}@media(max-width:700px){.quotes-filter,.inline-user{grid-template-columns:1fr}.hero-actions{width:100%;flex-direction:column}.hero-actions .btn{width:100%}.view-total{flex-direction:column;gap:8px}}

/* Alpha 4 - Financeiro */
.finance-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}.finance-stats article{background:#fff;border:1px solid var(--border);border-radius:14px;padding:17px}.finance-stats span,.finance-stats small{display:block;color:var(--muted);font-size:11px}.finance-stats strong{display:block;color:var(--navy);font-size:20px;margin:7px 0}.finance-filter{grid-template-columns:minmax(220px,1fr) 150px 150px auto auto auto}.compact-check{align-self:center;white-space:nowrap}.finance-kind{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}.finance-kind.receber{background:#eaf8f6;color:#0a776e}.finance-kind.pagar{background:#fff2ec;color:#9b4a28}.status.fin-aberto{background:#eef3f6;color:#536b7a}.status.fin-parcial{background:#fff7df;color:#80610c}.status.fin-pago{background:#eaf8f6;color:#0a776e}.status.fin-cancelado{background:#fff1f1;color:#963636}.detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:22px}.financial-values{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.financial-values>div{background:var(--surface);padding:15px;border-radius:12px}.financial-values span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}.financial-values strong{display:block;margin-top:7px;font-size:19px;color:var(--navy)}.detail-list{font-size:12px;color:var(--muted)}.detail-list strong{color:var(--ink)}.muted-text{font-size:12px;color:var(--muted)}.status-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.generate-finance{display:flex;gap:10px;align-items:center;border-top:1px solid var(--border);margin-top:22px;padding-top:18px}.generate-finance small{color:var(--muted)}@media(max-width:1100px){.finance-stats{grid-template-columns:repeat(2,1fr)}.finance-filter{grid-template-columns:1fr 1fr 1fr}.detail-grid{grid-template-columns:1fr}}@media(max-width:700px){.finance-stats,.finance-filter,.financial-values{grid-template-columns:1fr}.generate-finance{align-items:stretch;flex-direction:column}}

/* Alpha 5 - NFS-e e Documentos */
.nfse-filter,.docs-filter{grid-template-columns:minmax(240px,1fr) 170px 220px auto auto}.status.nfse-emitida{background:#eaf8f6;color:#0a776e}.status.nfse-cancelada{background:#fff1f1;color:#963636}.status.nfse-substituida{background:#eef3f6;color:#536b7a}.status.nfse-erro{background:#fff0e7;color:#9b4a28}.status.nfse-pendente{background:#fff7df;color:#80610c}.documents-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.document-tile{display:flex;gap:12px;border:1px solid var(--border);border-radius:14px;padding:15px;background:#fff}.document-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:var(--surface);font-size:10px;font-weight:900;color:var(--navy)}.document-tile h3{margin:4px 0 5px;font-size:14px;color:var(--navy)}.document-tile p,.document-tile small{display:block;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.doc-card{display:flex;gap:10px;align-items:center;border:1px solid var(--border);padding:10px;border-radius:10px;margin-bottom:10px}.doc-card small{display:block;color:var(--muted)}.doc-type{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--surface);font-size:9px;font-weight:900}@media(max-width:1050px){.documents-grid{grid-template-columns:repeat(2,1fr)}.nfse-filter,.docs-filter{grid-template-columns:1fr 1fr}}@media(max-width:700px){.documents-grid,.nfse-filter,.docs-filter{grid-template-columns:1fr}}

/* Alpha 6 */
.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.metric-card span{display:block;color:var(--muted);font-size:11px}.metric-card strong{display:block;color:var(--navy);font-size:26px;margin-top:8px}.report-values{grid-template-columns:repeat(3,1fr)}.upload-panel{margin-bottom:22px}.upload-form{display:grid;grid-template-columns:1.2fr 170px 220px 1.5fr auto;gap:10px;align-items:end}.upload-form input,.upload-form select{border:1px solid var(--border);border-radius:10px;padding:10px;font:inherit;background:#fff}.upload-panel small{display:block;margin-top:9px;color:var(--muted)}@media(max-width:1100px){.upload-form{grid-template-columns:1fr 1fr}.report-grid{grid-template-columns:repeat(2,1fr)}.report-values{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.upload-form,.report-grid,.report-values{grid-template-columns:1fr}}

/* Alpha 7 - agente autenticado */
.token-box code{display:block;margin:10px 0;padding:12px;border-radius:10px;background:#fff;font-family:Consolas,monospace;overflow-wrap:anywhere}.payload-box{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--border);padding:14px;border-radius:12px;font-family:Consolas,monospace;font-size:12px}

/* Alpha 9 - Backup, restauração e migração */
.backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}.preview-panel{margin-bottom:22px}.inline-form{display:inline-block;margin-left:6px}@media(max-width:850px){.backup-grid{grid-template-columns:1fr}}
/* Alpha 10 - módulos fiscais de homologação */
.status { display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#eef3f6;font-size:12px;font-weight:700; }
.notes small { display:block;margin-top:3px;color:var(--muted,#667887); }
button:disabled { opacity:.55;cursor:not-allowed; }

/* Alpha 12 - central de configuracoes */
.settings-hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.settings-card{display:flex;flex-direction:column;gap:7px;padding:18px;border:1px solid var(--line,#dce6ec);border-radius:14px;background:#fff;text-decoration:none;color:inherit;min-height:92px;transition:.16s ease}
.settings-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(16,37,50,.08);border-color:#b8d9d6}
.settings-card strong{font-size:15px;color:#102532}.settings-card span{font-size:13px;line-height:1.4;color:#667887}
@media(max-width:1000px){.settings-hub{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.settings-hub{grid-template-columns:1fr}}
