:root{--primary-color:#005a9c;--text-color:#222;--bg-color:#f4f6f8;--error-color:#b91c1c;--focus-ring:#ffbf47}body{color:var(--text-color);background-color:var(--bg-color);margin:0;padding:12px;font-family:Arial,sans-serif;line-height:1.6}main{background:#fff;border-radius:8px;max-width:800px;margin:0 auto;padding:16px;box-shadow:0 2px 8px #0000001a}@media (width>=600px){body{padding:20px}main{padding:24px}}.skip-link{background:var(--primary-color);color:#fff;z-index:100;padding:8px;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}a:focus,button:focus,input:focus,textarea:focus{outline:3px solid var(--focus-ring);outline-offset:2px}.form-group{margin-bottom:16px}label{margin-bottom:4px;font-weight:700;display:block}input,textarea{box-sizing:border-box;border:1px solid #ccc;border-radius:4px;width:100%;padding:8px}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--error-color)}.error-msg{color:var(--error-color);margin-top:4px;font-size:.875rem;display:block}.error-msg[hidden]{display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.star-rating{border:none;flex-direction:row-reverse;justify-content:flex-end;gap:4px;margin:0 0 16px;padding:0;display:flex}.star-rating legend{width:100%;margin-bottom:4px;font-weight:700}.star-rating input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.star-rating label{cursor:pointer;color:#ccc;margin-bottom:0;font-size:2rem;font-weight:400;line-height:1}.star-rating input:checked~label,.star-rating label:hover,.star-rating label:hover~label{color:var(--primary-color)}.star-rating input:focus-visible+label{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:2px}button{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:10px 16px;font-size:1rem}button:hover{background-color:#003f6e}#reviews-list{padding:0;list-style-type:none}.review-card{background-color:#fafafa;border:1px solid #ddd;border-radius:6px;margin-bottom:12px;padding:12px}.review-card p{margin:.4rem 0}.review-card small{color:#666}.feedback-success{color:#2e7d32}.feedback-error{color:var(--error-color)}.hardware-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=600px){.hardware-grid{grid-template-columns:repeat(2,1fr)}}.hardware-card{border:1px solid #ccc;border-radius:8px;padding:1rem}.btn{background-color:var(--primary-color);color:#fff;border-radius:4px;margin:0 8px 8px 0;padding:8px 14px;text-decoration:none;display:inline-block}.btn:hover{background-color:#003f6e}.elia-status{border-left:5px solid var(--primary-color);background:#eef7ff;border-radius:8px;margin-bottom:1rem;padding:1rem}.elia-status-title{margin-top:0}.setup-list{margin:0 0 16px;padding:0;list-style:none}.setup-item{border-bottom:1px solid #ddd;padding:.8rem 0}.setup-item-header{justify-content:space-between;align-items:center;display:flex}.setup-item-slider{margin-top:5px}.remove-btn{background:var(--error-color);padding:2px 8px}.calc-results{background:#f4f4f4;border-radius:8px;padding:1rem}.detail-main{padding:1rem}.detail-card{border:1px solid #ccc;border-radius:8px;padding:1.5rem}.full-width-range{width:100%}.reviews-section{margin-top:2rem}.sort-buttons{margin-bottom:1rem}.sort-buttons button{margin-right:8px}.submit-btn{margin-top:1rem}.form-feedback{margin-top:.5rem}input[type=range].setup-hours-slider{appearance:none;background:linear-gradient(to right, var(--primary-color) 0%, var(--primary-color) var(--slider-progress,50%), #e0e0e0 var(--slider-progress,50%), #e0e0e0 100%);cursor:pointer;border:none;border-radius:4px;width:100%;height:8px;padding:0}input[type=range].setup-hours-slider::-webkit-slider-thumb{appearance:none;background:var(--primary-color);cursor:pointer;border:none;border-radius:50%;width:20px;height:20px;margin-top:0}input[type=range].setup-hours-slider::-moz-range-thumb{background:var(--primary-color);cursor:pointer;border:none;border-radius:50%;width:20px;height:20px}input[type=range].setup-hours-slider::-moz-range-track{background:#e0e0e0;border-radius:4px;height:8px}input[type=range].setup-hours-slider:focus{outline:3px solid var(--focus-ring);outline-offset:2px}
