:root {
    --primary: #e67e22;
    --dark: #2c3e50;
    --light: #f4f6f7;
    --border: #bdc3c7;
    --success: #27ae60;
}
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    margin: 0; padding: 0; background-color: var(--light); color: var(--dark);
}
header {
    background-color: var(--dark); color: white; padding: 1.5rem; text-align: center;
    border-bottom: 5px solid var(--primary);
}
.container { max-width: 1200px; margin: 1.5rem auto; padding: 0 1rem; }
.tab-bar { display: flex; flex-wrap: wrap; background: #e5e7e9; border-radius: 6px; padding: 0.3rem; margin-bottom: 1.5rem; gap: 0.2rem; }
.tab-btn { flex: 1; min-width: 140px; padding: 0.75rem; font-weight: bold; font-size: 0.9rem; border: none; background: transparent; color: #566573; border-radius: 4px; cursor: pointer; text-align: center; transition: all 0.2s ease; }
.tab-btn:hover { background: #d5dbdb; color: var(--dark); }
.tab-btn.active { background: var(--primary); color: white; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.tab-content { display: none; }
.tab-content.active { display: block; }
.card { background: white; border-radius: 8px; border: 1px solid var(--border); padding: 1.5rem; margin-bottom: 1.5rem; box-shadow: 0 4px 6px rgba(0,0,0,0.05); }
h2 { color: var(--dark); margin-top: 0; border-bottom: 2px solid var(--primary); padding-bottom: 0.5rem; font-size: 1.4rem; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; }
.form-group { margin-bottom: 1rem; }
label { display: block; margin-bottom: 0.4rem; font-weight: 600; font-size: 0.85rem; color: #4d5656; }
input, select { width: 100%; padding: 0.7rem; border: 1px solid var(--border); border-radius: 4px; box-sizing: border-box; font-size: 0.95rem; background-color: #fdfefe; }
input:focus, select:focus { border-color: var(--primary); outline: none; box-shadow: 0 0 4px rgba(230,126,34,0.3); }
.results-box { background-color: #ebf5fb; padding: 1.25rem; border-radius: 6px; margin-top: 1.25rem; border-left: 5px solid #2980b9; }
.results-box h3 { margin-top: 0; color: #2980b9; font-size: 1.05rem; border-bottom: 1px solid #d4e6f1; padding-bottom: 0.3rem; }
.results-box p { margin: 0.5rem 0; font-size: 0.95rem; display: flex; justify-content: space-between; }
.highlight { font-weight: bold; color: var(--dark); }
.price-highlight { font-weight: bold; color: var(--success); }
.summary-sticky { background: var(--dark); color: white; padding: 1.5rem; border-radius: 8px; text-align: center; margin-top: 2rem; border-bottom: 5px solid var(--success); box-shadow: 0 -4px 10px rgba(0,0,0,0.1); }
.summary-sticky h2 { color: white; border: none; font-size: 1.6rem; margin-bottom: 0.25rem; }
.total-price { font-size: 2.8rem; font-weight: bold; color: var(--success); margin: 0.5rem 0; }
.btn { background-color: var(--primary); color: white; border: none; padding: 1rem 2rem; font-size: 1.1rem; font-weight: bold; border-radius: 5px; cursor: pointer; width: 100%; margin-top: 0.5rem; }
.btn:hover { background-color: #d35400; }
@media print {
    header, .tab-bar, .form-group, label, input, select, .btn { display: none !important; }
    .tab-content { display: block !important; }
    .card { border: none; box-shadow: none; padding: 0; margin-bottom: 2rem; page-break-inside: avoid; }
    body { background: white; }
    .results-box { border: 1px solid #ccc; background: white; }
}@media print {
    .client-info-card {
        border: none !important;
        box-shadow: none !important;
        margin-bottom: 2rem !important;
        padding: 0 !important;
    }
    .client-info-card h2 {
        font-size: 1.2rem !important;
        margin-bottom: 1rem !important;
    }
    .client-info-card input {
        border: none !important;
        background: transparent !important;
        padding: 0 !important;
        font-size: 1.1rem !important;
        font-weight: bold !important;
        color: #2c3e50 !important;
    }
}