:root{--qc-primary:#0072ce;--qc-primary-deep:#005fa3;--qc-primary-light:#deeeff;--qc-secondary:#00a86b;--qc-secondary-light:#d6f5ea;--qc-danger:#e74c3c;--qc-danger-light:#fdecea;--qc-warning:#f39c12;--qc-warning-light:#fef5e7;--qc-bg:#f4f7fb;--qc-white:#ffffff;--qc-text:#1a1d23;--qc-text-muted:#6b7280;--qc-text-faint:#9ca3af;--qc-border:#e2e6ed;--qc-border-focus:#0072ce;--qc-radius:5px;--qc-spacing:1.5rem;--qc-gap:0.75rem;--qc-shadow-sm:0 1px 3px rgba(0, 0, 0, 0.07), 0 1px 2px rgba(0, 0, 0, 0.06);--qc-shadow-md:0 4px 16px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.05);--qc-shadow-lg:0 12px 40px rgba(0, 0, 0, 0.12), 0 4px 12px rgba(0, 0, 0, 0.07);--qc-transition:0.2s ease}.qc-container{position:relative;z-index:1;min-width:100%;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.qc-header{text-align:center;padding:1.5rem 0 .5rem;border:1px solid var(--qc-border);border-radius:var(--qc-radius);background-color:var(--qc-bg);box-shadow:var(--qc-shadow-sm)}.qc-header__title{font-size:clamp(1.75rem, 5vw, 2.6rem)!important;font-weight:800;color:var(--qc-text)!important;letter-spacing:-.03em;line-height:1.15;background:linear-gradient(135deg,var(--qc-text) 30%,var(--qc-primary));-webkit-background-clip:text;-webkit-text-fill-color:#fff0;background-clip:text;margin-bottom:.6rem}.qc-header__subtitle{font-size:0.93rem!important;color:var(--qc-text-muted);max-width:500px;margin:0 auto;line-height:1.65}.qc-card{background:var(--qc-white);border-radius:var(--qc-radius);box-shadow:var(--qc-shadow-md);border:1px solid var(--qc-border);padding:1.75rem;display:flex;flex-direction:column;gap:1.25rem;animation:qcSlideUp 0.4s ease both}.qc-field-group{display:flex;flex-direction:column;gap:.4rem}.qc-field-group--half{flex:1;min-width:0}.qc-row{display:flex;gap:var(--qc-gap);flex-wrap:wrap}.qc-row .qc-field-group--half{flex:1 1 200px}.qc-label{font-size:0.85rem!important;font-weight:600;color:var(--qc-text);letter-spacing:.01em}.qc-label__required{color:var(--qc-danger);margin-left:.2em}.qc-label__optional{color:var(--qc-text-faint);font-weight:400;font-size:0.78rem!important;margin-left:.25em}.qc-field-hint{font-size:0.75rem!important;color:var(--qc-text-faint);line-height:1.4}.qc-input-wrap{position:relative;display:flex}.qc-input-wrap--suffix{position:relative}.qc-input{width:100%;height:44px!important;padding:0 .875rem;border:1px solid var(--qc-border)!important;border-radius:var(--qc-radius);background:var(--qc-white)!important;color:var(--qc-text);font-size:0.92rem!important;font-weight:500;transition:border-color var(--qc-transition),box-shadow var(--qc-transition),background var(--qc-transition);outline:none;appearance:none;-webkit-appearance:none}.qc-input:focus{border-color:var(--qc-border-focus)!important;box-shadow:0 0 0 3px rgb(0 114 206 / .14);background:#fafcff!important}.qc-input:hover:not(:focus){border-color:#b0b8c8!important}.qc-input::placeholder{color:var(--qc-text-faint)!important;font-weight:400}.qc-input.qc-input--error{border-color:var(--qc-danger)!important;box-shadow:0 0 0 3px rgb(231 76 60 / .12)}.qc-input-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--qc-text-faint);display:flex;align-items:center;pointer-events:none}.qc-input--suffix{padding-right:3rem}.qc-input-suffix{position:absolute;right:.875rem;top:50%;transform:translateY(-50%);font-size:0.88rem!important;font-weight:600;color:var(--qc-text-muted);pointer-events:none}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{opacity:.4}.qc-mode-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:.5rem}.qc-mode-radio{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.qc-mode-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.75rem .9rem;border:1px solid var(--qc-border)!important;border-radius:var(--qc-radius);background:var(--qc-bg)!important;cursor:pointer;transition:border-color var(--qc-transition),background var(--qc-transition),box-shadow var(--qc-transition),transform var(--qc-transition);user-select:none;overflow:hidden}.qc-mode-tile:hover{border-color:var(--qc-primary)!important;background:var(--qc-white)!important;transform:translateY(-1px);box-shadow:var(--qc-shadow-sm)}.qc-mode-tile:has(.qc-mode-radio:checked){border-color:var(--qc-primary)!important;background:var(--qc-white)!important;box-shadow:0 0 0 3px rgb(0 114 206 / .14),var(--qc-shadow-sm)}.qc-mode-tile:has(.qc-mode-radio:checked)::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--qc-primary)!important;border-radius:4px 4px 0 0}.qc-mode-tile__icon{font-size:1.15rem!important;font-weight:700;color:var(--qc-primary);line-height:1;margin-bottom:.15rem}.qc-mode-tile__label{font-size:0.8rem!important;font-weight:600;color:var(--qc-text);line-height:1.2}.qc-mode-tile__desc{font-size:0.68rem!important;color:var(--qc-text-faint);line-height:1.3}.qc-conditional{animation:qcFadeIn 0.25s ease}.qc-conditional[hidden]{display:none}.qc-error-banner{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;background:var(--qc-danger-light);border:1px solid rgb(231 76 60 / .25);border-radius:var(--qc-radius);color:var(--qc-danger);font-size:0.83rem!important;font-weight:500;animation:qcFadeIn 0.2s ease}.qc-error-banner[hidden]{display:none}.qc-btn{width:fit-content;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:0 1.4rem;height:46px;border-radius:var(--qc-radius);font-size:0.9rem!important;font-weight:600;cursor:pointer;border:1px solid #fff0;transition:background var(--qc-transition),transform var(--qc-transition),box-shadow var(--qc-transition),border-color var(--qc-transition);white-space:nowrap;outline:none}.qc-btn:focus-visible{box-shadow:0 0 0 3px rgb(0 114 206 / .3)}.qc-btn:active{transform:translateY(1px) scale(.985)}.qc-btn--primary{background:var(--qc-primary)!important;color:var(--qc-white)!important;width:100%!important;height:48px!important;font-size:0.95rem!important;box-shadow:0 4px 14px rgb(0 114 206 / .28)}.qc-btn--primary:hover{background:var(--qc-primary-deep)!important;box-shadow:0 6px 20px rgb(0 114 206 / .36);transform:translateY(-1px)}.qc-btn--secondary{background:var(--qc-secondary)!important;color:var(--qc-white)!important;border-color:var(--qc-secondary)!important}.qc-btn--secondary:hover{transform:translateY(-1px)}.qc-btn--ghost{background:var(--qc-danger)!important;color:var(--qc-white)!important;border-color:var(--qc-danger)!important}.qc-btn--ghost:hover{transform:translateY(-1px)}.qc-btn--danger{background:var(--qc-danger);color:#fff;border-color:var(--qc-danger)}.qc-btn--danger:hover{background:#c0392b;box-shadow:0 4px 14px rgb(231 76 60 / .3)}.qc-btn__icon{display:flex;align-items:center}.qc-result-panel{display:flex;flex-direction:column;gap:1rem;animation:qcSlideUp 0.4s ease both}.qc-result-panel[hidden]{display:none}.qc-status-banner{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.4rem;border-radius:var(--qc-radius);border:1px solid #fff0;transition:background var(--qc-transition),border-color var(--qc-transition)}.qc-status-banner--met{background:var(--qc-secondary-light);border-color:rgb(0 168 107 / .25)}.qc-status-banner--not-met{background:var(--qc-danger-light);border-color:rgb(231 76 60 / .25)}.qc-status-banner--info{background:var(--qc-primary-light);border-color:rgb(0 114 206 / .2)}.qc-status-banner__icon{flex-shrink:0;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem!important}.qc-status-banner--met .qc-status-banner__icon{background:rgb(0 168 107 / .15)}.qc-status-banner--not-met .qc-status-banner__icon{background:rgb(231 76 60 / .15)}.qc-status-banner--info .qc-status-banner__icon{background:rgb(0 114 206 / .12)}.qc-status-banner__content{display:flex;flex-direction:column;gap:.1rem}.qc-status-banner__label{font-size:0.77rem!important;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.7}.qc-status-banner__value{font-size:1.05rem!important;font-weight:700;line-height:1.3}.qc-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem}.qc-stat-card{background:var(--qc-white);border:1px solid var(--qc-border);border-radius:var(--qc-radius);padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center;box-shadow:var(--qc-shadow-sm);transition:transform var(--qc-transition)}.qc-stat-card:hover{transform:translateY(-2px)}.qc-stat-card--hidden{display:none}.qc-stat-card__num{font-size:1.9rem!important;font-weight:700;color:var(--qc-primary);line-height:1;letter-spacing:-.04em}.qc-stat-card__lbl{font-size:0.72rem!important;font-weight:600;color:var(--qc-text-muted);text-transform:uppercase;letter-spacing:.05em}.qc-progress-section{background:var(--qc-white);border:1px solid var(--qc-border);border-radius:var(--qc-radius);padding:1.1rem 1.3rem;box-shadow:var(--qc-shadow-sm)}.qc-progress-section--hidden{display:none}.qc-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.qc-progress-header__label{font-size:0.8rem!important;font-weight:600;color:var(--qc-text)}.qc-progress-header__meta{font-size:0.78rem!important;color:var(--qc-text-muted);font-weight:500}.qc-progress-track{height:12px;background:var(--qc-bg)!important;border-radius:100px;overflow:hidden;position:relative;border:1px solid var(--qc-border)!important}.qc-progress-fill{height:100%;border-radius:100px;transition:width 0.5s cubic-bezier(.22,.61,.36,1),background 0.3s ease;min-width:4px;position:relative}.qc-progress-fill--met{background:linear-gradient(90deg,var(--qc-secondary) 0%,#00c47e 100%)}.qc-progress-fill--not-met{background:linear-gradient(90deg,var(--qc-danger) 0%,#ff7675 100%)}.qc-progress-threshold{position:absolute;top:0;bottom:0;width:2px;background:var(--qc-primary)!important;border-radius:2px;transition:left 0.5s cubic-bezier(.22,.61,.36,1)}.qc-progress-threshold::after{content:"";position:absolute;top:-3px;left:-3px;width:8px;height:8px;background:var(--qc-primary)!important;border-radius:50%;border:2px solid var(--qc-white)!important}.qc-progress-legend{display:flex;gap:1rem;margin-top:.6rem}.qc-legend-item{display:flex;align-items:center;gap:.35rem;font-size:0.72rem!important;color:var(--qc-text-muted);font-weight:500}.qc-legend-item span{display:inline-block;width:10px;height:10px;border-radius:3px;flex-shrink:0}.qc-legend-item--present span{background:var(--qc-secondary)}.qc-legend-item--threshold span{background:var(--qc-primary)}.qc-legend-item--total span{background:var(--qc-border);border:1px solid #c0c8d8}.qc-explanation-box{background:var(--qc-white);border:1px solid var(--qc-border);border-radius:var(--qc-radius);padding:1.1rem 1.3rem;box-shadow:var(--qc-shadow-sm);display:flex;flex-direction:column;gap:.6rem}.qc-explanation-box__heading{display:flex;align-items:center;gap:.45rem;font-size:0.82rem!important;font-weight:700;color:var(--qc-text)!important;text-transform:uppercase;letter-spacing:.05em}.qc-explanation-box__text{font-size:0.88rem!important;color:var(--qc-text-muted);line-height:1.65}.qc-formula-chip{font-size:0.8rem!important;background:var(--qc-bg);border:1px solid var(--qc-border);color:var(--qc-primary-deep);padding:.45rem .85rem;border-radius:var(--qc-radius);display:inline-block;font-weight:500;letter-spacing:.02em}.qc-voting-section{background:var(--qc-white);border:1px solid var(--qc-border);border-radius:var(--qc-radius);padding:1.1rem 1.3rem;box-shadow:var(--qc-shadow-sm)}.qc-voting-section__heading{font-size:0.82rem!important;font-weight:700;color:var(--qc-text)!important;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.qc-voting-section__sub{font-size:0.8rem!important;color:var(--qc-text-faint);margin-bottom:.9rem}.qc-voting-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem}.qc-vote-chip{display:flex;flex-direction:column;gap:.15rem;padding:.6rem .85rem;background:var(--qc-bg);border:1px solid var(--qc-border);border-radius:var(--qc-radius)}.qc-vote-chip__num{font-size:1.3rem!important;font-weight:700;color:var(--qc-primary);line-height:1}.qc-vote-chip__lbl{font-size:0.72rem!important;color:var(--qc-text-muted);font-weight:500}.qc-recommendations{background:var(--qc-warning-light);border:1px solid rgb(243 156 18 / .25);border-radius:var(--qc-radius);padding:1.1rem 1.3rem}.qc-recommendations[hidden]{display:none}.qc-recommendations__heading{display:flex;align-items:center;gap:.45rem;font-size:0.82rem!important;font-weight:700;color:#8a6200!important;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.6rem}.qc-recommendations__list{list-style:none;display:flex;flex-direction:column;gap:.4rem;margin:0!important}.qc-recommendations__list li{font-size:0.85rem!important;color:#6b4f00;padding-left:1.1rem;position:relative;line-height:1.5}.qc-recommendations__list li::before{content:"→";position:absolute;left:0;color:var(--qc-warning)}.qc-actions{display:flex;gap:.6rem;flex-wrap:wrap;padding-top:.25rem}.qc-actions .qc-btn--ghost{flex:0 0 auto}.qc-toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(80px);background:var(--qc-text);color:var(--qc-white);font-size:0.85rem!important;font-weight:500;padding:.65rem 1.3rem;border-radius:100px;box-shadow:var(--qc-shadow-lg);opacity:0;transition:transform 0.3s ease,opacity 0.3s ease;pointer-events:none;z-index:9999;white-space:nowrap}.qc-toast--visible{opacity:1;transform:translateX(-50%) translateY(0)}.qc-modal-overlay{position:fixed;inset:0;background:rgb(20 25 40 / .55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:qcFadeIn 0.2s ease}.qc-modal-overlay[hidden]{display:none}.qc-modal{background:var(--qc-white);border-radius:var(--qc-radius);box-shadow:var(--qc-shadow-lg);padding:2rem 1.75rem;max-width:380px;width:100%;text-align:center;animation:qcModalIn 0.3s cubic-bezier(.22,.61,.36,1)}.qc-modal__icon{color:var(--qc-danger);margin-bottom:.75rem}.qc-modal__title{font-size:1.2rem!important;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem}.qc-modal__body{font-size:0.87rem!important;color:var(--qc-text-muted);margin-bottom:1.5rem;line-height:1.6}.qc-modal__actions{display:flex;gap:.6rem;justify-content:center}.qc-modal__actions .qc-btn{min-width:110px}@keyframes qcSlideUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes qcFadeIn{from{opacity:0}to{opacity:1}}@keyframes qcModalIn{from{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width:480px){.qc-container{gap:1rem}.qc-card{padding:1.25rem 1rem;gap:1rem}.qc-mode-grid{grid-template-columns:repeat(2,1fr)}.qc-stats-row{grid-template-columns:repeat(2,1fr)}.qc-voting-grid{grid-template-columns:repeat(2,1fr)}.qc-header__title{font-size:1.7rem!important}.qc-actions{flex-direction:column}.qc-actions .qc-btn{width:100%}}@media (min-width:481px) and (max-width:640px){.qc-mode-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:641px){.qc-card{padding:2rem}}@media (min-width:768px){.qc-mode-grid{grid-template-columns:repeat(4,1fr)}.qc-ref-table th:last-child,.qc-ref-table td:last-child{width:50%}}@media print{body{background:#fff}.qc-actions,.qc-reference-card{display:none}}
