/* Bootstrap CSS minificado */
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a{background:transparent}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid #c0c0c0}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;height:auto;max-width:100%}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto;max-width:1200px}.row{margin-right:-15px;margin-left:-15px}.col-sm-2,.col-sm-3,.col-sm-6{position:relative;min-height:1px;padding-right:15px;padding-left:15px;float:left}.col-sm-2{width:16.66666667%}.col-sm-3{width:25%}.col-sm-6{width:50%}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}textarea.form-control{height:auto}.form-group{margin-bottom:15px}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active{color:#fff;background-color:#3276b1;border-color:#285e8e}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active{color:#fff;background-color:#d2322d;border-color:#ac2925}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active{color:#fff;background-color:#47a447;border-color:#398439}

        /* Estilos customizados - Design tipo App Mobile */
        body {
            background-color: #f5f5f5;
        }
        
        .container {
            max-width: 100%;
            padding: 10px;
            background-color: #fff;
            border-radius: 12px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            margin: 10px auto;
        }
        
        h1 {
            font-size: 24px;
            color: #2c3e50;
            text-align: center;
            margin-bottom: 20px;
            font-weight: 600;
        }
        
        h3 {
            font-size: 18px;
            color: #34495e;
            margin: 20px 0 15px 0;
            border-bottom: 2px solid #3498db;
            padding-bottom: 5px;
        }
        
        .form-group {
            margin-bottom: 15px;
        }
        
        .form-group label {
            font-weight: 600;
            color: #2c3e50;
            margin-bottom: 5px;
            display: block;
            font-size: 14px;
        }
        
        .form-control {
            border-radius: 8px;
            border: 2px solid #e0e0e0;
            padding: 12px;
            font-size: 16px;
            transition: all 0.3s ease;
        }
        
        .form-control:focus {
            border-color: #3498db;
            box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);
        }
        
        /* Estilos para itens predefinidos - Layout Mobile */
        .item-predefinido {
            background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
            border: 2px solid #dee2e6;
            border-radius: 12px;
            padding: 15px;
            margin-bottom: 15px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.05);
        }
        
        .item-predefinido label {
            font-weight: 600;
            margin-bottom: 10px;
            display: block;
            color: #2c3e50;
            font-size: 15px;
        }
        
        .item-controls {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        
        .checkbox-row {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 10px;
        }
        
        .checkbox-row input[type="checkbox"] {
            width: 20px;
            height: 20px;
            accent-color: #3498db;
        }
        
        .checkbox-row label {
            margin: 0;
            font-size: 14px;
            color: #34495e;
        }
        
        .input-row {
            display: flex;
            gap: 8px;
        }
        
        .input-small {
            flex: 1;
            padding: 8px 10px;
            border: 2px solid #e0e0e0;
            border-radius: 6px;
            font-size: 14px;
            text-align: center;
        }
        
        .input-small:focus {
            border-color: #3498db;
            outline: none;
        }
        
        .input-small:disabled {
            background-color: #f8f9fa;
            color: #6c757d;
        }
        
        /* Seção de total */
        .total-section {
            background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
            color: white;
            padding: 20px;
            border-radius: 12px;
            margin: 20px 0;
            text-align: center;
            box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3);
        }
        
        .total-section h4 {
            margin: 0;
            font-size: 24px;
            font-weight: 700;
        }
        
        /* Botões estilo app */
        .btn {
            border-radius: 25px;
            padding: 15px 30px;
            font-size: 16px;
            font-weight: 600;
            border: none;
            margin: 10px 5px;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        }
        
        .btn-primary {
            background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
            color: white;
        }
        
        .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(52, 152, 219, 0.4);
        }
        
        .btn-success {
            background: linear-gradient(135deg, #27ae60 0%, #229954 100%);
            color: white;
        }
        
        .btn-success:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(39, 174, 96, 0.4);
        }
        
        .btn-danger {
            background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
            color: white;
        }
        
        .btn-danger:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(231, 76, 60, 0.4);
        }
        
        .btn-block {
            width: 100%;
            margin: 10px 0;
        }
        
        .hidden {
            display: none;
        }
        
        /* Responsividade Mobile */
        @media (max-width: 768px) {
            .container {
                margin: 5px;
                padding: 15px;
                border-radius: 0;
            }
            
            h1 {
                font-size: 20px;
            }
            
            .item-predefinido {
                padding: 12px;
                margin-bottom: 12px;
            }
            
            .input-small {
                font-size: 16px; /* Evita zoom no iOS */
                padding: 10px 8px;
            }
            
            .form-control {
                font-size: 16px; /* Evita zoom no iOS */
            }
            
            .btn {
                padding: 12px 20px;
                font-size: 14px;
            }
        }
        
        @media (max-width: 480px) {
            .input-row {
                flex-direction: column;
                gap: 8px;
            }
            
            .input-small {
                width: 100%;
            }
        }
        
        /* Estilos para o orçamento gerado */
        .orcamento-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 30px;
            padding-bottom: 20px;
            border-bottom: 2px solid #3498db;
        }
        
        .orcamento-logo {
            flex: 0 0 auto;
        }
        
        .logo-img {
            max-width: 200px;
            max-height: 100px;
            object-fit: contain;
        }
        
        .logo-fallback {
            padding: 15px;
            border: 2px solid #3498db;
            text-align: center;
            background: #f8f9fa;
            border-radius: 5px;
            max-width: 200px;
            min-height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .logo-fallback strong {
            color: #2c3e50;
            font-size: 16px;
            line-height: 1.2;
        }
        
        .orcamento-company-info {
            flex: 1;
            text-align: right;
            margin-left: 20px;
        }
        
        .company-name {
            font-size: 24px;
            font-weight: bold;
            color: #2c3e50;
            margin: 0 0 10px 0;
        }
        
        .company-details p {
            margin: 2px 0;
            font-size: 12px;
            color: #555;
            line-height: 1.3;
        }
        
        .orcamento-title {
            text-align: center;
            margin: 30px 0;
        }
        
        .orcamento-title h1 {
            font-size: 28px;
            font-weight: bold;
            color: #2c3e50;
            margin: 0;
            padding: 15px 0;
            border-top: 2px solid #3498db;
            border-bottom: 2px solid #3498db;
        }
        
        .orcamento-client-info {
            margin: 25px 0;
            background: #f8f9fa;
            padding: 20px;
            border-radius: 8px;
            border-left: 4px solid #3498db;
        }
        
        .client-info-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 15px;
        }
        
        .info-item {
            font-size: 14px;
            line-height: 1.4;
        }
        
        .info-item strong {
            color: #2c3e50;
            font-weight: 600;
        }
        
        .orcamento-details {
            margin: 30px 0;
        }
        
        .orcamento-details h3 {
            font-size: 20px;
            color: #2c3e50;
            margin-bottom: 15px;
            border-bottom: 1px solid #ddd;
            padding-bottom: 8px;
        }
        
        .orcamento-table {
            width: 100%;
            border-collapse: collapse;
            margin-bottom: 20px;
            font-size: 14px;
        }
        
        .orcamento-table th {
            background: #3498db;
            color: white;
            padding: 12px 8px;
            text-align: left;
            font-weight: 600;
        }
        
        .orcamento-table td {
            padding: 10px 8px;
            border-bottom: 1px solid #ddd;
        }
        
        .orcamento-table .subtotal-row,
        .orcamento-table .total-row {
            background: #f8f9fa;
            font-weight: bold;
        }
        
        .orcamento-table .total-row {
            background: #e8f4fd;
            color: #2c3e50;
        }
        
        .orcamento-table .text-right {
            text-align: right;
        }
        
        .orcamento-notes {
            margin: 25px 0;
            background: #fff3cd;
            border: 1px solid #ffeaa7;
            border-radius: 8px;
            padding: 20px;
        }
        
        .orcamento-notes h4 {
            margin: 0 0 10px 0;
            color: #856404;
            font-size: 16px;
        }
        
        .orcamento-notes ul {
            margin: 0;
            padding-left: 20px;
        }
        
        .orcamento-notes li {
            margin-bottom: 5px;
            color: #856404;
            font-size: 13px;
        }
        
        .orcamento-actions {
            margin: 30px 0;
            padding: 20px;
            background: #f8f9fa;
            border-radius: 8px;
            border-top: 3px solid #3498db;
        }
        
        .action-buttons {
            display: flex;
            gap: 15px;
            justify-content: center;
            flex-wrap: wrap;
        }
        
        .btn-action {
            padding: 12px 24px;
            font-size: 14px;
            font-weight: 600;
            border-radius: 25px;
            border: none;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
            min-width: 140px;
        }
        
        .btn-action:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
        }
        
        .btn-secondary {
            background: linear-gradient(135deg, #6c757d 0%, #5a6268 100%);
            color: white;
        }
        
        .btn-secondary:hover {
            background: linear-gradient(135deg, #5a6268 0%, #495057 100%);
        }
        
        /* Responsividade para orçamento */
        @media (max-width: 768px) {
            .orcamento-header {
                flex-direction: column;
                text-align: center;
            }
            
            .orcamento-company-info {
                text-align: center;
                margin-left: 0;
                margin-top: 15px;
            }
            
            .company-name {
                font-size: 20px;
            }
            
            .orcamento-title h1 {
                font-size: 22px;
            }
            
            .client-info-grid {
                grid-template-columns: 1fr;
            }
            
            .action-buttons {
                flex-direction: column;
                align-items: center;
            }
            
            .btn-action {
                width: 100%;
                max-width: 250px;
            }
            
            .orcamento-table {
                font-size: 12px;
            }
            
            .orcamento-table th,
            .orcamento-table td {
                padding: 8px 4px;
            }
        }
        
        @media print {
            .no-print {
                display: none !important;
            }
            
            .container {
                max-width: none;
                padding: 0;
                box-shadow: none;
                border-radius: 0;
                margin: 0;
            }
            
            .orcamento-header {
                border-bottom: 2px solid #000;
            }
            
            .orcamento-title h1 {
                border-top: 2px solid #000;
                border-bottom: 2px solid #000;
            }
            
            .orcamento-table th {
                background: #f0f0f0 !important;
                color: #000 !important;
                border: 1px solid #000;
            }
            
            .orcamento-table td {
                border: 1px solid #000;
            }
            
            .company-details p {
                color: #000;
            }
        }


