:root{--salford-red: #c4222a }*{margin:0;padding:0;box-sizing:border-box}@font-face{font-family:ReplicaPro;src:url(/fonts/ReplicaPro-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:ReplicaPro;src:url(/fonts/ReplicaPro-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:ReplicaPro;src:url(/fonts/ReplicaPro-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}body{font-family:ReplicaPro,-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:#fff;padding:0}a,a:visited{color:var(--salford-red)}.container{max-width:1200px;margin:0 auto;background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;overflow:hidden}.header{padding:40px;text-align:center}.header h1{font-size:2.5rem;margin-bottom:10px;font-weight:700}.header p{font-size:1.1rem;opacity:.9}.header-logo{max-width:15rem;height:auto;margin-bottom:1rem}.content{padding:40px}.qualification-section{margin-bottom:40px}.section-title{font-size:1.5rem;color:#333;margin-bottom:20px;font-weight:600}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#555}.form-control{width:100%;padding:12px 6px;border:2px solid #e1e5e9;border-radius:8px;transition:border-color .3s ease}.form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.qualification-points-to-add{font-weight:700;margin:.5rem 0 1rem}.qualification-points-to-add__value{color:var(--salford-red)}.btn{background:green;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.btn:hover{box-shadow:0 .2em .5em #667eea4d}.btn:focus-visible{outline-offset:3px}.btn-secondary{background:#6c757d}.btn-secondary:hover{box-shadow:0 .2em .5em #6c757d4d}.btn-outline{background:transparent!important;color:var(--salford-red);border:2px solid var(--salford-red);padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}.btn-outline:hover,.btn-outline:focus{box-shadow:0 .2em .5em #667eea26}.btn-danger{background:#dc3545}.btn-danger:hover{box-shadow:0 .2em .5em #dc35454d}.qualification-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:20px;margin-bottom:15px;display:flex;justify-content:space-between;align-items:center;transition:transform .2s ease,box-shadow .2s ease}.qualification-info{flex:1}.qualification-title{font-size:1.1rem;font-weight:600;margin-bottom:5px}.qualification-title .section-title{margin-bottom:0}.qualification-grade{font-weight:600}.qualification-points{font-weight:600;margin-right:1rem}.total-section{background:#fefefe;color:#000;padding:30px;border-radius:12px;text-align:center;margin-top:30px}.total-section--active{background:linear-gradient(135deg,#006891,#2eb895);color:#fff}.total-points{font-size:3rem;font-weight:700;margin-bottom:10px}.total-label{font-size:1.2rem;opacity:.9}.empty-state{text-align:center;padding:60px 20px;color:#6c757d}.empty-state h3{font-size:1.5rem;margin-bottom:10px}.empty-state p{font-size:1.1rem}.guidance-notes{background:#efefef;padding:1rem;margin:2rem 0 1rem;border-radius:8px}.guidance-notes h2{margin:1em 0 .7em;max-width:55ch}.guidance-notes h2:first-of-type{margin-top:0}.guidance-notes p{margin-bottom:.5em;max-width:85ch}.guidance-notes ul{margin-bottom:1em}.guidance-notes li{margin-bottom:.4em;list-style-position:inside;color:inherit}.guidance-notes li::marker{content:"/ ";color:var(--salford-red)}.qualification-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-direction:column;gap:1rem}.qualification-title{width:100%}.qualification-clear-button-container{width:100%;text-align:right}.qualification-clear-button-container .btn{width:100%}@media (min-width: 48rem){.qualification-header{flex-direction:row;gap:0}.qualification-clear-button-container{width:40%}}@media (max-width: 48rem){.header{padding:30px 20px}.header-logo{max-width:12rem}.header h1{font-size:2rem}.content{padding:20px}.qualification-item{flex-direction:column;align-items:flex-start;gap:15px}.total-points{font-size:2.5rem}}
