:root{--primary-color: ;--primary-color-dark: ;--primary-color-darker: }.postcode-lookup-module{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:2rem auto;max-width:90vw;padding:clamp(1rem,2vw,2rem);width:100%}.lookup-form{align-items:center;display:flex;gap:clamp(.5rem,1vw,1rem);margin-bottom:clamp(1rem,2vw,2rem);width:100%}.postcode-input{border:1px solid #ccc;border-radius:4px;flex:1;font-size:clamp(.875rem,1.5vw,1rem);max-width:min(100%,400px);outline:none;padding:clamp(.75rem,1.5vw,1rem)}.postcode-input:focus{border-color:#6a1f89;box-shadow:0 0 0 2px rgba(106,31,137,.2)}.lookup-button{align-items:center;background-color:#6a1f89!important;border:none;border-radius:4px;color:#fff!important;cursor:pointer;display:inline-flex;font-size:16px;font-weight:500;justify-content:center;line-height:1.5;min-width:120px;opacity:1!important;padding:12px 24px;text-transform:none;transition:all .2s ease}.lookup-button:hover{background-color:#561571!important;opacity:.9!important}.lookup-button:active{background-color:#421159!important}.lookup-button:disabled{background-color:#ccc!important;cursor:not-allowed;opacity:.7}.output-container{margin-top:20px}.result{background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,.05);margin:1em 0;padding:1.5em}.result p{line-height:1.5;margin:.5em 0}.error{background-color:#fff5f5;border:1px solid #ffd7d7;border-radius:4px;color:#dc3545;font-weight:700;padding:12px}.warning{background-color:#fff3cd;border:1px solid #ffeeba;border-radius:4px;color:#856404;font-style:italic;padding:12px}.hubdb-data{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;margin-top:15px;padding:15px}.hubdb-data p{color:#495057;margin:8px 0}.hubdb-data strong{color:#212529;text-transform:capitalize}@media (max-width:36em){.lookup-form{flex-direction:column;gap:1rem}.postcode-input{max-width:100%;width:100%}.lookup-button{width:100%}}.icb-result{background-color:#f8f5ff;border-radius:8px;margin:0 auto 2rem;max-width:90vw;padding:clamp(1.5rem,3vw,3rem);width:100%}.icb-title{color:#6a1f89;font-size:clamp(1.5rem,4vw,2rem);font-weight:500;line-height:1.2;margin-bottom:.5em}.icb-subtitle{color:#4a4a4a;font-size:clamp(1rem,2vw,1.25rem);margin-bottom:clamp(1.5rem,3vw,2rem)}.requirements-grid{display:grid;gap:clamp(1rem,2vw,2rem);grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));margin-top:2rem;width:100%}.requirement-item{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(106,31,137,.1);display:flex;flex-direction:column;height:100%;justify-content:flex-start;padding:clamp(1rem,2vw,1.5rem);text-align:center}.requirement-icon{align-items:center;background:#f8f5ff;border-radius:50%;color:#6a1f89;display:flex;font-size:24px;height:40px;justify-content:center;margin-bottom:1em;width:40px}.requirement-text{color:#4a4a4a;font-size:clamp(.875rem,1.5vw,1rem);line-height:1.5;margin:0}@media (min-width:48em){.requirements-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:64em){.requirements-grid{grid-template-columns:repeat(3,1fr)}.icb-result,.postcode-lookup-module{max-width:85vw}}@media (min-width:80em){.icb-result,.postcode-lookup-module{max-width:80vw}}