:root{--brand-green:#2e7d32;--background-tan:beige;--dark-slate:#2c3e50;--white:#fff}body{background-color:var(--background-tan);color:var(--dark-slate);justify-content:center;min-height:100vh;margin:0;padding:0;font-family:Trebuchet MS,Lucida Sans Unicode,Lucida Grande,Lucida Sans,Arial,sans-serif;display:flex}.main-card{background:var(--white);border:3px solid var(--brand-green);box-sizing:border-box;border-radius:12px;width:100%;max-width:550px;margin:20px;padding:40px;box-shadow:6px 6px #2e7d3233}header{text-align:center}.header-logo{width:180px;height:auto;margin-top:10px;margin-bottom:10px}.professional-line{color:var(--brand-green);font-weight:bolder;font-size:1.5 rem;text-transform:uppercase;letter-spacing:1px;justify-content:space-between;align-items:center;width:100%;max-width:400px;margin:15px auto 45px;display:flex}.professional-line span{display:inline-block}.service-logic{margin-top:10px}.input-group{margin-bottom:20px}.input-group label{margin-bottom:8px;font-weight:700;display:block}.text-input{border:2px solid var(--brand-green);box-sizing:border-box;background:var(--white);border-radius:8px;width:100%;padding:12px;font-size:1rem;transition:border-color .2s}.text-input:focus{border-color:var(--dark-slate);outline:none}.file-input{display:none}.custom-file-upload{border:3px dashed var(--brand-green);cursor:pointer;text-align:center;background:#fdfdfd;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:30px;transition:all .2s ease-in-out;display:flex}.custom-file-upload:hover{border-color:var(--dark-slate);background:#f0f7f0;transform:scale(1.02)}.upload-icon{margin-bottom:10px;font-size:2rem}.upload-text{color:var(--brand-green);text-transform:uppercase;letter-spacing:1px;font-weight:700}.upload-hint{color:#777;margin-top:5px;font-size:.8rem}.file-input:hover{background:var(--white)}.price-display{text-align:center;border-top:2px solid var(--brand-green);margin-top:25px;padding-top:20px}.action-button{background-color:var(--brand-green);color:var(--white);cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:10px;padding:18px;font-size:1.3rem;font-weight:700;transition:background-color .2s,transform .1s}.action-button:hover{background-color:#1b5e20;transform:translateY(-2px)}.action-button:active{transform:translateY(0)}footer{text-align:center;opacity:.8;margin-top:40px;font-size:.9rem;line-height:1.4}.status-message{text-align:center;color:var(--brand-green);text-transform:uppercase;margin-top:15px;font-weight:700}
