:root{--ggc-bg:#f3f4f6;--ggc-bg-soft:#eef2ff;--ggc-card-bg:#fff;--ggc-border:#e5e7eb;--ggc-border-strong:#cbd5f5;--ggc-accent:#6366f1;--ggc-accent-soft:#eef2ff;--ggc-accent-strong:#4f46e5;--ggc-text-main:#0f172a;--ggc-text-muted:#6b7280;--ggc-shadow-soft:0 18px 45px #0f172a14;--ggc-radius-card:18px;--ggc-radius-pill:999px;--ggc-font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--ggc-font-sans);color:var(--ggc-text-main);-webkit-font-smoothing:antialiased;background:radial-gradient(circle at top,#fff 0,#f3f4f6 55%,#e5e7eb 100%)}.app-container{background-color:#0000}body:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(120% 100%,#0000000f 0%,#00000005 55%,#0000 85%);position:fixed;inset:0}a{color:var(--ggc-accent);text-decoration:none}a:hover,a:focus{color:var(--ggc-accent-strong);text-decoration:underline}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-container{max-width:1120px}.app-shell>.container{flex:1 0 auto}.app-hero{padding:1rem 0 1.5rem;position:relative}.app-hero:before{content:"";pointer-events:none;z-index:-1;height:105%;position:absolute;inset:0}.app-hero-title{letter-spacing:-.03em;color:var(--ggc-text-main);font-size:1.9rem;font-weight:750}.app-hero-subtitle{max-width:640px;color:var(--ggc-text-muted);font-size:.95rem}@media (min-width:992px){.app-hero-title{font-size:2.25rem}.app-hero{padding-top:1.5rem;padding-bottom:2rem}}.card{border-radius:var(--ggc-radius-card);border:1px solid var(--ggc-border);box-shadow:var(--ggc-shadow-soft);background-color:#fff;transition:transform .15s ease-out,box-shadow .15s ease-out,border-color .15s ease-out;overflow:visible}.card:hover{border-color:var(--ggc-border-strong);transform:translateY(-2px);box-shadow:0 20px 55px #0f172a1f}.card-highlight{background-color:#fff;border-color:#6366f159}.card-body h2.h5{margin-bottom:.75rem;font-weight:600}.text-muted{color:var(--ggc-text-muted)!important}.small,.text-muted.small,.small.text-muted{font-size:.84rem}.fs-4,.fs-5{font-weight:600}.table-sm>:not(caption)>*>*{padding-top:.35rem;padding-bottom:.35rem}.form-control,.form-select{border-color:var(--ggc-border);border-radius:.55rem;font-size:.9rem}.form-control:focus,.form-select:focus{border-color:var(--ggc-accent);box-shadow:0 0 0 2px #6366f140}.form-label-sm,.form-label.form-label-sm{margin-bottom:.15rem;font-size:.84rem}.bands-list{max-height:180px;margin-top:.35rem;padding-right:.25rem;overflow-y:auto}.btn-primary{background-color:var(--ggc-accent);border-color:var(--ggc-accent);border-radius:999px;padding-inline:1.2rem;font-weight:500}.btn-primary:hover,.btn-primary:focus{background-color:var(--ggc-accent-strong);border-color:var(--ggc-accent-strong)}.btn-outline-primary{color:var(--ggc-accent);border-color:var(--ggc-accent);border-radius:999px}.btn-outline-primary:hover,.btn-outline-primary:focus{background-color:var(--ggc-accent-soft);border-color:var(--ggc-accent-strong);color:var(--ggc-accent-strong)}.btn-outline-danger.btn-sm{border-radius:999px}.alert{border-radius:12px}.alert-warning{color:#713f12;background-color:#fef9c3;border-color:#facc15}.required-score-box{background:#f9fafb;border:1px dashed #94a3b8e6;border-radius:14px}.required-score-placeholder{color:var(--ggc-text-muted);font-size:.9rem;font-weight:400;display:inline-block}.required-score-box strong{font-weight:700}footer{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffd9;border-top:1px solid #94a3b859}footer a{color:var(--ggc-text-muted);text-decoration:none}footer a:hover{color:var(--ggc-accent);text-decoration:underline}.wam-table th,.wam-table td{vertical-align:middle}@media (min-width:768px){.wam-table th:first-child,.wam-table td:first-child{width:90px}.wam-table th:nth-child(2),.wam-table td:nth-child(2){width:38%}.wam-table th:nth-child(3),.wam-table td:nth-child(3),.wam-table th:nth-child(4),.wam-table td:nth-child(4),.wam-table th:nth-child(5),.wam-table td:nth-child(5){width:14%}}.wam-table input.form-control{width:100%}@media (min-width:992px){.app-container{padding-bottom:4rem}}@media (max-width:575.98px){.app-container{padding-left:1rem;padding-right:1rem}}
