.futura-app-wrapper { font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important; max-width: 1200px !important; margin: 20px auto !important; padding: 30px !important; background: #fff !important; border-radius: 15px !important; box-shadow: 0 15px 35px rgba(0,0,0,0.1) !important; color: #333 !important; }
.futura-app-wrapper * { box-sizing: border-box !important; }
.fso-auth-box { max-width: 400px !important; margin: 40px auto !important; padding: 30px !important; background: #fff !important; border-radius: 12px !important; box-shadow: 0 10px 25px rgba(0,0,0,0.1) !important; font-family: sans-serif !important; text-align: center !important; }
.fso-auth-box h2, .fso-auth-box h3 { color: #004085 !important; margin: 0 0 20px !important; }
.fso-auth-box .login-username input, .fso-auth-box .login-password input { width: 100% !important; padding: 12px !important; margin-top: 5px !important; margin-bottom: 15px !important; border: 1px solid #ccc !important; border-radius: 6px !important; }
.fso-auth-box .login-submit input { width: 100% !important; padding: 12px !important; background: #004085 !important; color: white !important; border: none !important; border-radius: 6px !important; font-weight: bold !important; cursor: pointer !important; }
.fso-access-denied { text-align: center !important; padding: 50px !important; }
.is-hidden { display: none; }
.text-center { text-align: center !important; }
.text-danger { color: red !important; }
.nowrap { white-space: nowrap !important; }
.align-middle { vertical-align: middle !important; padding: 15px !important; }
.btn-config { margin-right: 10px !important; padding: 12px 20px !important; border-radius: 8px !important; border: none !important; cursor: pointer !important; font-weight: bold !important; background: #6c757d !important; color: white !important; }
.btn-voltar { margin-bottom: 20px !important; padding: 10px 20px !important; border-radius: 8px !important; border: 1px solid #ccc !important; cursor: pointer !important; font-weight: bold !important; }
.btn-full { width: 100% !important; }
.form-panel { padding: 20px !important; border-radius: 10px !important; margin-bottom: 20px !important; }
.panel-cliente { background: #e9f2fb !important; border: 1px solid #b8daff !important; }
.panel-fechamento { background: #f4f6f9 !important; border: 1px solid #d1d6db !important; }
.form-panel h4 { margin-top: 0 !important; margin-bottom: 15px !important; }
.panel-cliente h4 { color: #004085 !important; }
.panel-fechamento h4 { color: #495057 !important; }
.grid-spaced { margin-top: 10px !important; }
.btn-add-service { width: 100% !important; padding: 15px !important; background: #f1f3f5 !important; border: 2px dashed #0056b3 !important; color: #0056b3 !important; font-weight: bold !important; border-radius: 10px !important; cursor: pointer !important; margin-bottom: 20px !important; }
.label-spaced { margin-top: 15px !important; }
.label-small-gap { margin-top: 5px !important; }
.view-config { padding: 20px !important; }
.config-panel { background: #f8f9fa !important; padding: 20px !important; border-radius: 10px !important; border: 1px solid #ddd !important; }
.select-acesso { padding: 8px !important; border-radius: 5px !important; }
.user-create-box { padding: 15px !important; margin-bottom: 20px !important; background: #fff !important; border: 1px solid #e1e5ea !important; border-radius: 8px !important; }
.usuarios-feedback { min-height: 20px !important; margin-top: 10px !important; font-weight: 600 !important; color: #155724 !important; }
.usuarios-feedback[data-tipo="erro"] { color: #dc3545 !important; }
.pdf-money { text-align: right !important; font-weight: bold !important; }

.app-header { display: flex !important; justify-content: space-between !important; align-items: center !important; border-bottom: 2px solid #eee !important; padding-bottom: 20px !important; margin-bottom: 20px !important; }
.header-actions { display: flex !important; gap: 10px !important; }

.btn-novo { background: #0056b3 !important; color: white !important; padding: 12px 20px !important; border: none !important; border-radius: 8px !important; font-weight: bold !important; cursor: pointer !important; }
.btn-logout { background: #dc3545 !important; color: white !important; padding: 12px 20px !important; border: none !important; border-radius: 8px !important; font-weight: bold !important; text-decoration: none !important; font-size: 14px !important; display: inline-block !important; margin-left: 10px !important; }
.btn-aprovar { background: #28a745 !important; color: white !important; padding: 8px 12px !important; border: none !important; border-radius: 6px !important; font-weight: bold !important; cursor: pointer !important; font-size: 13px !important; }
.btn-perder { background: #dc3545 !important; color: white !important; padding: 8px 12px !important; border: none !important; border-radius: 6px !important; font-weight: bold !important; cursor: pointer !important; font-size: 13px !important; }

.table-responsive { width: 100% !important; overflow-x: auto !important; }
.tabela-dashboard { width: 100% !important; border-collapse: collapse !important; min-width: 600px !important; }
.tabela-dashboard th { background: #f8f9fa !important; padding: 15px !important; text-align: left !important; border-bottom: 2px solid #ddd !important; }
.tabela-dashboard td { padding: 15px !important; border-bottom: 1px solid #eee !important; vertical-align: middle !important; }

.badge-status { padding: 5px 10px !important; border-radius: 20px !important; font-size: 12px !important; font-weight: bold !important; }
.status-pendente { background: #fff3cd !important; color: #856404 !important; }
.status-aprovado { background: #d4edda !important; color: #155724 !important; }

.grid-2 { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 15px !important; }
.linha-item { background: #f8f9fa !important; padding: 20px !important; border-radius: 10px !important; margin-bottom: 15px !important; border-left: 4px solid #0056b3 !important; position: relative !important; }

/* Ajuste fino do botão remover para desktop */
.btn-remover { color: #dc3545 !important; background: #fff !important; border: 1px solid #dc3545 !important; padding: 6px 12px !important; border-radius: 5px !important; cursor: pointer !important; position: absolute !important; top: 15px !important; right: 15px !important; z-index: 10 !important; font-size: 13px !important; }
.btn-remover:hover { background: #ffe6e6 !important; }

.futura-app-wrapper label { font-weight: 600 !important; font-size: 14px !important; display: block !important; width: 100% !important; margin-bottom: 8px !important; color: #495057 !important; }
.futura-app-wrapper input, .futura-app-wrapper select, .futura-app-wrapper textarea { width: 100% !important; padding: 12px !important; margin-bottom: 15px !important; border: 1px solid #ced4da !important; border-radius: 8px !important; background: #fff !important; font-size: 15px !important; box-sizing: border-box !important;}
.btn-gerar { width: 100% !important; padding: 20px !important; background: #28a745 !important; color: white !important; border: none !important; border-radius: 10px !important; font-weight: bold !important; font-size: 18px !important; margin-top: 20px !important; cursor: pointer !important; }
.pdf-offscreen-wrapper { position: absolute !important; top: -10000px !important; left: 0 !important; width: 794px !important; z-index: -9999 !important; }
.pdf-hidden-wrapper { display: none; position: absolute; top: 0; left: 0; z-index: -9999; }
.pdf-template { padding: 40px; box-sizing: border-box; background: white; font-family: Arial, sans-serif; font-size: 14px; color: #333; }
.pdf-template-desktop { width: 794px; }
.pdf-template-mobile { width: 800px; }
.pdf-header-table { width: 100%; border-bottom: 4px solid #004085; padding-bottom: 15px; margin-bottom: 25px; }
.pdf-col-top { width: 50%; vertical-align: top; }
.pdf-col-bottom { width: 50%; vertical-align: bottom; }
.pdf-align-right { text-align: right; }
.pdf-logo { max-height: 80px; margin-bottom: 10px; }
.pdf-company { color: #004085; font-weight: bold; font-size: 18px; }
.pdf-title { margin: 0; color: #004085; font-size: 32px; font-weight: 900; }
.pdf-number-line { margin: 5px 0; }
.pdf-date-line { margin-top: 20px; font-weight: bold; color: #004085; }
.pdf-client-box { background: #f8f9fa; border-left: 5px solid #004085; padding: 15px; margin-bottom: 30px; }
.pdf-items-table { width: 100%; border-collapse: collapse; margin-bottom: 40px; }
.pdf-items-table th, .pdf-items-table td { padding: 12px; border: 1px solid #eee; }
.pdf-items-table th { border-color: #004085; text-align: left; }
.pdf-table-head-row { background: #004085; color: white; }
.pdf-money-col, .pdf-money { text-align: right; font-weight: bold; }
.pdf-total-table { width: 100%; margin-bottom: 40px; }
.pdf-payment-card { background: #f4f6f9; padding: 15px; border-radius: 5px; border: 1px solid #ddd; }
.pdf-payment-title, .pdf-blue { color: #004085; font-weight: bold; }
.pdf-divider { border-top: 1px solid #ccc; margin: 10px 0; }
.pdf-pix-label { color: #28a745; font-weight: bold; }
.pdf-pix-value { font-size: 22px; font-weight: 900; color: #28a745; }
.pdf-total-label { font-size: 16px; font-weight: bold; }
.pdf-total-value { font-size: 32px; font-weight: 900; color: #004085; margin: 5px 0; }
.pdf-obs-container { font-size: 12px; font-weight: bold; }
.pdf-terms { border-top: 2px solid #eee; padding: 20px 0 28px; font-size: 12px; line-height: 1.45; page-break-inside: auto; break-inside: auto; orphans: 3; widows: 3; }
.pdf-terms strong { display: block; margin-bottom: 8px; page-break-after: avoid; break-after: avoid; }

.total-box { background: #004085 !important; color: white !important; padding: 25px !important; border-radius: 10px !important; text-align: center !important; margin-top: 20px !important; }
.total-box span { font-size: 32px !important; font-weight: 800 !important; display: block !important; }

/* MAGIA DO MOBILE: Tudo se alinha perfeitamente */
@media (max-width: 768px) {
    .futura-app-wrapper { padding: 15px !important; margin: 10px !important; width: auto !important; }
    .app-header { flex-direction: column !important; align-items: stretch !important; gap: 10px !important; }
    .header-actions { flex-direction: column !important; gap: 10px !important; }
    .btn-novo, .btn-logout { text-align: center !important; width: 100% !important; }
    .grid-2 { grid-template-columns: 1fr !important; gap: 0 !important; }
    .total-box span { font-size: 24px !important; }
    
    /* O SEGREDO DO BOTÃO REMOVER: Empurra o conteúdo interno para baixo para dar espaço ao botão no topo */
    .linha-item { padding-top: 65px !important; }
    .btn-remover { top: 15px !important; right: 15px !important; }
}
