*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;color:#333}.app{max-width:1000px;margin:0 auto;padding:20px;min-height:100vh}.app-header{background:linear-gradient(135deg,#2d5016,#4a7c2a);color:#fff;padding:30px;border-radius:12px;margin-bottom:30px;text-align:center;box-shadow:0 4px 6px #0000001a}.header-logos{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:10px}.header-logo-left{max-width:350px;width:48%;height:auto}.header-logo-right{max-width:350px;width:48%;height:auto;border-radius:8px}.header-subtitle{font-size:1rem;opacity:.9;margin-top:10px}.app-header h1{font-size:2rem;margin-bottom:8px}.app-header p{font-size:1rem;opacity:.9}.tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid #ddd}.tab{background:none;border:none;padding:12px 24px;font-size:1rem;cursor:pointer;color:#666;border-bottom:3px solid transparent;transition:all .3s ease}.tab:hover{color:#2d5016;background:#2d50160d}.tab.active{color:#2d5016;border-bottom-color:#2d5016;font-weight:600}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section{background:#fff;padding:24px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 4px #0000000d}.section h2{color:#2d5016;margin-bottom:20px;font-size:1.5rem;border-bottom:2px solid #f0f0f0;padding-bottom:10px}.section h3{color:#4a7c2a;margin:20px 0 12px;font-size:1.1rem}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#555;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#4a7c2a;box-shadow:0 0 0 3px #4a7c2a1a}.form-group textarea{resize:vertical}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:500;color:#333}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.service-toggle{margin-bottom:12px;padding:12px;background:#f9f9f9;border-radius:6px;border:2px solid transparent;transition:all .3s ease}.service-toggle:has(input:checked){background:#e8f5e0;border-color:#4a7c2a}.service-details{margin-left:30px;margin-top:12px;padding-left:20px;border-left:3px solid #4a7c2a}.service-calc{margin-top:12px;padding:12px;background:#f0f8ed;border-radius:6px;font-size:1rem}.service-calc strong{color:#2d5016;font-size:1.1rem}.info-text{color:#666;font-size:.9rem;margin-top:8px;font-style:italic}.dirt-summary{margin-top:12px;padding:12px;background:#f0f8ed;border-radius:6px}.dirt-summary p{margin-bottom:6px}.land-clearing-intro{background:linear-gradient(135deg,#2d5016,#4a7c2a);color:#fff}.land-clearing-intro h2{color:#fff;border-bottom:2px solid rgba(255,255,255,.3)}.intro-box{background:#ffffff1a;padding:20px;border-radius:8px;margin-top:16px}.intro-box h3{color:#fff;margin:0 0 12px;font-size:1.2rem}.base-price{font-size:1.1rem;margin:0}.base-price strong{font-size:1.4rem;color:gold}.included-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.included-item{background:#f9f9f9;padding:16px;border-radius:6px;border-left:4px solid #4a7c2a}.included-item h4{color:#2d5016;margin-bottom:10px;font-size:1rem}.included-item ul{margin:0;padding-left:20px}.included-item li{margin-bottom:6px;color:#555;line-height:1.5}.heavy-density-box{background:#fff5e6;padding:16px;border-radius:6px;border:2px solid #ff9800}.price-breakdown-box{background:#e8f5e0;padding:16px;border-radius:6px;margin-top:16px}.price-breakdown-box h3{color:#2d5016;margin:0 0 10px;font-size:1.1rem}.price-breakdown-box p{margin:0;font-size:1.1rem}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:12px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.gallery-item{border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .3s ease,box-shadow .3s ease;background:#fff}.gallery-item:hover{transform:translateY(-5px);box-shadow:0 4px 16px #00000026}.gallery-image{width:100%;height:250px;object-fit:cover;display:block}.gallery-caption{padding:12px;text-align:center;font-weight:500;color:#333}.file-input{cursor:pointer;padding:10px;border:2px dashed #4a7c2a;border-radius:6px;background:#f9f9f9}.file-input:disabled{opacity:.5;cursor:not-allowed}.photo-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:16px}.photo-preview{position:relative;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.preview-image{width:100%;height:150px;object-fit:cover;display:block}.remove-photo-btn{position:absolute;top:8px;right:8px;background:#f00c;color:#fff;border:none;border-radius:50%;width:28px;height:28px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s ease}.remove-photo-btn:hover{background:red}.total-card{background:linear-gradient(135deg,#f9f9f9,#fff);border:2px solid #4a7c2a}.total-breakdown{margin-bottom:20px}.total-line{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eee;font-size:1rem}.total-line:last-child{border-bottom:none}.subtotal-line{font-weight:600;border-top:2px solid #ddd;padding-top:12px;margin-top:8px}.final-total-line{font-size:1.3rem;font-weight:700;color:#2d5016;border-top:3px solid #2d5016;padding-top:16px;margin-top:12px}.action-buttons{display:flex;gap:12px;flex-wrap:wrap}.btn{padding:12px 24px;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;flex:1;min-width:200px}.btn-primary{background:#4a7c2a;color:#fff}.btn-primary:hover{background:#3a6522;transform:translateY(-2px);box-shadow:0 4px 8px #4a7c2a4d}.btn-secondary{background:#666;color:#fff}.btn-secondary:hover{background:#555;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.pin-screen{text-align:center;padding:60px 20px}.pin-screen h2{color:#2d5016;margin-bottom:30px}.pin-input-group{display:flex;gap:12px;justify-content:center;max-width:400px;margin:0 auto}.pin-input-group input{flex:1;padding:12px;border:2px solid #ddd;border-radius:6px;font-size:1.2rem;text-align:center;letter-spacing:4px}.pin-input-group input:focus{outline:none;border-color:#4a7c2a}.print-only{display:none}@media print{@page{size:letter;margin:.4in}body{background:#fff}.app{max-width:100%;padding:0}.app-header,.tabs,.tab-content>.section,.action-buttons{display:none!important}.print-only{display:block!important}.estimate-print{padding:10px;font-size:.8rem}.print-logo{max-width:200px;margin-bottom:5px}.estimate-print h1{color:#2d5016;font-size:1.3rem;margin-bottom:3px}.estimate-print h2{color:#4a7c2a;font-size:1rem;margin-bottom:8px}.estimate-print h3{color:#2d5016;font-size:.9rem;margin-top:6px;margin-bottom:5px;border-bottom:1px solid #ddd;padding-bottom:2px}.print-section{margin-bottom:8px}.print-section p{margin-bottom:3px;line-height:1.3;font-size:.75rem}.print-total{font-size:1rem;font-weight:700;color:#2d5016;margin-top:8px;padding-top:8px;border-top:2px solid #2d5016}.deposit-notice{background:#fff5e6;padding:6px;border:2px solid #ff9800;border-radius:4px;margin-top:8px}.deposit-notice p{margin:0;font-size:.75rem;color:#333}.signature-section{margin-top:10px;display:flex;justify-content:space-between;gap:20px}.signature-line{flex:1}.signature-box{border-bottom:2px solid #333;height:30px;margin-bottom:3px}.signature-label{font-weight:700;margin-bottom:2px;font-size:.75rem}.signature-date{font-size:.7rem;color:#666}}@media (max-width: 768px){.app{padding:12px}.app-header{padding:20px}.header-logos{flex-direction:column;gap:15px}.header-logo-left,.header-logo-right{max-width:280px;width:100%}.app-header h1{font-size:1.5rem}.form-row{grid-template-columns:1fr}.action-buttons{flex-direction:column}.btn{min-width:100%}.tabs{flex-wrap:wrap}.tab{flex:1;min-width:140px}}
