*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--uply-bg: #0d0f18;--uply-surface: #161924;--uply-surface2: #1e2235;--uply-surface3: #252a40;--uply-border: #272c44;--uply-border-light: #2e3450;--uply-primary: #14c6bb;--uply-primary-h: #0ea9a0;--uply-primary-dim: rgba(20, 198, 187, .1);--uply-primary-glow: rgba(20, 198, 187, .2);--brand-start: #1a2872;--brand-end: #0d7070;--brand-gradient: linear-gradient(160deg, #1a2872 0%, #0d7070 100%);--uply-success: #22c55e;--uply-success-dim: rgba(34, 197, 94, .12);--uply-danger: #ef4444;--uply-danger-dim: rgba(239, 68, 68, .12);--uply-warning: #f59e0b;--uply-warning-dim: rgba(245, 158, 11, .12);--uply-info: #3b82f6;--uply-info-dim: rgba(59, 130, 246, .12);--uply-text: #e8eaf0;--uply-text-muted: #7c839e;--uply-text-subtle: #4a5068;--font: "Inter", system-ui, sans-serif;--uply-radius: 8px;--uply-radius-sm: 6px;--uply-radius-lg: 12px;--uply-radius-xl: 16px;--uply-shadow: 0 8px 32px rgba(0,0,0,.5);--uply-shadow-sm: 0 2px 8px rgba(0,0,0,.3);--transition: .15s ease}html,body,#app{height:100%;background:var(--uply-bg);color:var(--uply-text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font)}input,select,textarea{font-family:var(--font);font-size:14px}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--uply-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--uply-primary)}.page{max-width:1200px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}.page-title{font-size:20px;font-weight:700;color:var(--uply-text);letter-spacing:-.3px;line-height:1.2}.page-sub{font-size:13px;color:var(--uply-text-muted);margin-top:3px}.page-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.btn-primary{background:var(--uply-primary);color:#fff;border:none;border-radius:var(--uply-radius);padding:9px 18px;font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;transition:background var(--transition);display:inline-flex;align-items:center;gap:6px;line-height:1}.btn-primary:hover:not(:disabled){background:var(--uply-primary-h)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background:var(--uply-surface2);color:var(--uply-text);border:1px solid var(--uply-border);border-radius:var(--uply-radius);padding:9px 16px;font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;transition:all var(--transition);display:inline-flex;align-items:center;gap:6px;line-height:1}.btn-secondary:hover{border-color:var(--uply-primary);color:var(--uply-primary)}.btn-cancelar{background:transparent;border:1px solid var(--uply-border);border-radius:var(--uply-radius);color:var(--uply-text-muted);padding:9px 18px;font-size:13px;font-family:var(--font);cursor:pointer;transition:all var(--transition)}.btn-cancelar:hover{border-color:var(--uply-text-muted);color:var(--uply-text)}.btn-danger{background:var(--uply-danger-dim);color:var(--uply-danger);border:1px solid rgba(239,68,68,.25);border-radius:var(--uply-radius);padding:9px 16px;font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;transition:all var(--transition);display:inline-flex;align-items:center;gap:6px;line-height:1}.btn-danger:hover{background:var(--uply-danger);color:#fff;border-color:var(--uply-danger)}.btn-acao{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--uply-radius-sm);background:transparent;color:var(--uply-text-muted);cursor:pointer;transition:all var(--transition);flex-shrink:0;padding:0}.btn-acao.icon{width:30px;height:30px}.btn-acao:hover{background:var(--uply-surface3);color:var(--uply-text)}.btn-acao.edit:hover{color:var(--uply-primary);background:var(--uply-primary-dim)}.btn-acao.danger:hover{color:var(--uply-danger);background:var(--uply-danger-dim)}.btn-acao.success:hover{color:var(--uply-success);background:var(--uply-success-dim)}.btn-acao svg{width:14px;height:14px;stroke-width:2;display:block}.btn-fechar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;color:var(--uply-text-muted);border-radius:var(--uply-radius-sm);cursor:pointer;transition:all var(--transition);font-size:16px}.btn-fechar:hover{background:var(--uply-surface2);color:var(--uply-text)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-full{grid-column:1/-1}.field label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--uply-text-muted);margin-bottom:6px}.label-hint{font-size:10px;font-weight:400;color:var(--uply-text-muted);text-transform:none;letter-spacing:0;opacity:.7}.field input,.field select,.field textarea{width:100%;background:var(--uply-surface2);border:1px solid var(--uply-border);border-radius:var(--uply-radius);padding:9px 12px;color:var(--uply-text);outline:none;transition:border-color var(--transition),box-shadow var(--transition);font-family:var(--font);font-size:13px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--uply-primary);box-shadow:0 0 0 3px var(--uply-primary-dim)}.field input:disabled{opacity:.5;cursor:not-allowed}.field select option{background:var(--uply-surface2)}.field textarea{resize:vertical;min-height:80px}.input-busca{background:var(--uply-surface);border:1px solid var(--uply-border);border-radius:var(--uply-radius);padding:9px 14px;color:var(--uply-text);outline:none;font-family:var(--font);font-size:13px;transition:border-color var(--transition),box-shadow var(--transition)}.input-busca:focus{border-color:var(--uply-primary);box-shadow:0 0 0 3px var(--uply-primary-dim)}.select-filtro{background:var(--uply-surface);border:1px solid var(--uply-border);border-radius:var(--uply-radius);padding:9px 14px;color:var(--uply-text);outline:none;font-family:var(--font);font-size:13px;cursor:pointer;transition:border-color var(--transition)}.select-filtro:focus{border-color:var(--uply-primary)}.input-erro{border-color:var(--uply-danger)!important}.field-erro{display:block;font-size:11px;color:var(--uply-danger);margin-top:4px}.erro{font-size:13px;color:var(--uply-danger);margin-top:8px}.filtros{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.filtros .input-busca{flex:1;min-width:180px}.tabela-wrapper{background:var(--uply-surface);border:1px solid var(--uply-border);border-radius:var(--uply-radius-lg);overflow:hidden}.tabela{width:100%;border-collapse:collapse}.tabela th{text-align:left;padding:11px 16px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--uply-text-subtle);border-bottom:1px solid var(--uply-border);background:var(--uply-surface);white-space:nowrap}.tabela td{padding:11px 16px;font-size:13px;border-bottom:1px solid var(--uply-border);color:var(--uply-text)}.tabela-row:last-child td{border-bottom:none}.tabela-row:hover td{background:var(--uply-surface2)}.tabela-row.selected td{background:var(--uply-primary-dim)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.badge-success{background:var(--uply-success-dim);color:var(--uply-success);border:1px solid rgba(34,197,94,.2)}.badge-danger{background:var(--uply-danger-dim);color:var(--uply-danger);border:1px solid rgba(239,68,68,.2)}.badge-warning{background:var(--uply-warning-dim);color:var(--uply-warning);border:1px solid rgba(245,158,11,.2)}.badge-info{background:var(--uply-info-dim);color:var(--uply-info);border:1px solid rgba(59,130,246,.2)}.badge-muted{background:var(--uply-surface2);color:var(--uply-text-muted);border:1px solid var(--uply-border)}.badge-primary{background:var(--uply-primary-dim);color:var(--uply-primary);border:1px solid var(--uply-primary-glow)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:20px}.modal{background:var(--uply-surface);border:1px solid var(--uply-border-light);border-radius:var(--uply-radius-xl);width:100%;max-width:620px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px #0009}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--uply-border);position:sticky;top:0;background:var(--uply-surface);z-index:1}.modal-header h2{font-size:15px;font-weight:600;color:var(--uply-text);letter-spacing:-.2px}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--uply-border);position:sticky;bottom:0;background:var(--uply-surface)}.secao-titulo{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--uply-text-subtle);margin-bottom:16px;display:flex;align-items:center;gap:8px}.secao-fiscal{margin-top:24px;padding-top:20px;border-top:1px solid var(--uply-border)}.secao-badge{background:var(--uply-primary-dim);color:var(--uply-primary);font-size:10px;padding:2px 8px;border-radius:20px;font-weight:600}.acoes{display:flex;gap:4px;align-items:center}.text-right{text-align:right}.text-center{text-align:center}.text-mono{font-family:JetBrains Mono,Fira Code,monospace;font-size:12px}.text-muted{color:var(--uply-text-muted)}.text-subtle{color:var(--uply-text-subtle)}.text-danger{color:var(--uply-danger)}.text-success{color:var(--uply-success)}.text-primary{color:var(--uply-primary)}.text-warning{color:var(--uply-warning)}.text-sm{font-size:12px}.text-xs{font-size:11px}
