*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--navy:#0a1f44;--navy-mid:#162d5e;--navy-light:#1e3a78;--navy-tint:#e8ecf5;--navy-border:#c5cfe8;--crimson:#a50f2d;--crimson-hover:#8b0d26;--crimson-light:#fdf0f2;--crimson-border:#f4b8c3;--color-bg:#f2f4f9;--color-surface:#fff;--color-text:#12213a;--color-muted:#5a6a8a;--color-border:#d0d8ec;--color-stay:#166534;--color-stay-bg:#f0fdf4;--color-stay-border:#86efac;--color-error:var(--crimson);--color-error-bg:var(--crimson-light);--color-warning:#92400e;--color-warning-bg:#fffbeb;--color-warning-border:#fcd34d;--color-summary-bg:#edf1fb;--color-summary-border:var(--navy-border);--color-summary-text:var(--navy-mid);--radius:10px;--shadow:0 2px 14px #0a1f441a;--shadow-card:0 1px 6px #0a1f4414}html{font-size:16px}body{background:var(--color-bg);color:var(--color-text);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6}.app{flex-direction:column;min-height:100vh;display:flex}.header{background:var(--navy);color:#fff;text-align:center;border-bottom:4px solid var(--crimson);padding:2.5rem 1.5rem 2rem}.header-icon{margin-bottom:.4rem;font-size:2.4rem;line-height:1}.header h1{letter-spacing:-.01em;margin-bottom:.35rem;font-size:clamp(1.35rem,4vw,1.95rem);font-weight:700}.subtitle{opacity:.8;letter-spacing:.02em;max-width:500px;margin:0 auto;font-size:.88rem;font-style:italic}.main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:2rem 1rem 3rem}.policy-note{background:var(--navy);color:#fff;border-radius:var(--radius);align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:1rem 1.25rem;font-size:.88rem;line-height:1.65;display:flex}.policy-note__icon{flex-shrink:0;margin-top:.1em;font-size:1.1rem}.policy-note p{margin:0}.policy-note strong{color:#ffd0d8}.form-instructions{color:var(--color-muted);background:var(--navy-tint);border-left:4px solid var(--navy-light);border-radius:0 7px 7px 0;margin-bottom:1.4rem;padding:.85rem 1.1rem;font-size:.92rem;line-height:1.65}.exams-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;margin-bottom:1.5rem;display:grid}.exam-card{background:var(--color-surface);border:1.5px solid var(--color-border);border-top:3px solid var(--navy-light);border-radius:var(--radius);box-shadow:var(--shadow-card);flex-direction:column;gap:1rem;padding:1.4rem 1.25rem;display:flex}.exam-card__header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.exam-card__title{color:var(--navy);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.6rem;font-size:.97rem;font-weight:700;display:flex}.btn-remove{color:var(--crimson);background:var(--crimson-light);border:1px solid var(--crimson-border);cursor:pointer;white-space:nowrap;border-radius:5px;flex-shrink:0;align-items:center;gap:.25rem;padding:.2rem .6rem;font-family:inherit;font-size:.72rem;font-weight:700;transition:background .15s,color .15s;display:inline-flex}.btn-remove:hover{background:var(--crimson-border);color:var(--crimson-hover)}.exam-card__badge{background:var(--navy);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.7rem;height:1.7rem;font-size:.8rem;font-weight:800;display:inline-flex}.field-row{gap:.75rem;display:flex}.field-row .field{flex:1;min-width:0}.field{flex-direction:column;gap:.35rem;display:flex}.field label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.73rem;font-weight:700}.field input[type=text],.field input[type=date]{border:1.5px solid var(--color-border);color:var(--color-text);background:#fff;border-radius:7px;width:100%;padding:.52rem .7rem;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--navy-light);outline:none;box-shadow:0 0 0 3px #1e3a7826}.field--checkbox{flex-direction:row;gap:0}.checkbox-label{cursor:pointer;color:var(--color-text);-webkit-user-select:none;user-select:none;align-items:flex-start;gap:.55rem;font-size:.87rem;display:flex}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--navy);cursor:pointer;flex-shrink:0;margin-top:.18em}.add-exam-row{justify-content:flex-start;margin-bottom:1.25rem;display:flex}.btn--add{background:var(--navy-tint);color:var(--navy);border:1.5px dashed var(--navy-border);cursor:pointer;border-radius:7px;padding:.5rem 1.2rem;font-family:inherit;font-size:.88rem;font-weight:700;transition:background .15s,border-color .15s}.btn--add:hover{background:var(--navy-border);border-color:var(--navy-light)}.error-banner{background:var(--color-error-bg);border:1.5px solid var(--crimson-border);color:var(--crimson);border-radius:7px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500}.actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.btn{cursor:pointer;letter-spacing:.01em;border:2px solid #0000;border-radius:7px;justify-content:center;align-items:center;padding:.7rem 1.9rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:background .15s,border-color .15s,color .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.97)}.btn--primary{background:var(--crimson);color:#fff}.btn--primary:hover{background:var(--crimson-hover)}.btn--ghost{color:var(--color-muted);border-color:var(--color-border);background:0 0}.btn--ghost:hover{background:var(--navy-tint);color:var(--navy);border-color:var(--navy-border)}.result{border:1.5px solid var(--navy-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow);margin-top:2.5rem;overflow:hidden}.result__heading{border-bottom:1.5px solid var(--navy-border);background:var(--navy);color:#fff;letter-spacing:.02em;padding:.9rem 1.5rem;font-size:1rem;font-weight:700}.result__summary{background:var(--color-summary-bg);border-bottom:1.5px solid var(--color-summary-border);color:var(--color-summary-text);align-items:flex-start;gap:.65rem;padding:1rem 1.5rem;font-size:.9rem;line-height:1.65;display:flex}.result__summary-icon{flex-shrink:0;margin-top:.12em;font-size:1rem}.ranked-list{flex-direction:column;list-style:none;display:flex}.ranked-item{border-top:1.5px solid #0000;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;display:flex}.ranked-item--stay{background:var(--color-stay-bg);border-top-color:var(--color-stay-border);border-left:4px solid var(--color-stay)}.ranked-item--stay:first-child{border-top-color:#0000}.ranked-item--reschedule{background:var(--crimson-light);border-top-color:var(--crimson-border);border-left:4px solid var(--crimson)}.ranked-item__rank-badge{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;margin-top:.15rem;font-size:.9rem;font-weight:800;display:inline-flex}.ranked-item--stay .ranked-item__rank-badge{background:var(--color-stay);color:#fff}.ranked-item--reschedule .ranked-item__rank-badge{background:var(--crimson);color:#fff}.ranked-item__body{flex-direction:column;flex:1;gap:.28rem;min-width:0;display:flex}.ranked-item__header{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.ranked-item__course{color:var(--color-text);letter-spacing:-.01em;font-size:1.2rem;font-weight:800}.ranked-item__status{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:.2rem .65rem;font-size:.73rem;font-weight:700;display:inline-flex}.status--stay{color:var(--color-stay);border:1px solid var(--color-stay-border);background:#dcfce7}.status--reschedule{background:var(--crimson-light);color:var(--crimson);border:1px solid var(--crimson-border)}.ranked-item__detail{color:var(--color-muted);font-size:.84rem}.ranked-item__reasoning{color:var(--color-text);margin-top:.1rem;font-size:.83rem;font-style:italic;line-height:1.55}.ranked-item__reasoning-label{color:var(--color-muted);font-style:normal;font-weight:700}.ranked-item__action{color:var(--crimson);margin-top:.25rem;font-size:.82rem;font-weight:600}.disclaimer{color:var(--color-muted);background:var(--navy-tint);border-top:1.5px solid var(--navy-border);padding:1rem 1.5rem;font-size:.81rem;line-height:1.55}.footer{text-align:center;color:var(--color-muted);border-top:1.5px solid var(--navy-border);background:var(--navy-tint);padding:1.4rem 1rem;font-size:.76rem}@media (width<=480px){.header{padding:2rem 1rem 1.5rem}.field-row{flex-direction:column}.exams-grid{grid-template-columns:1fr}.ranked-item{gap:.65rem;padding:1rem 1rem 1rem .75rem}.ranked-item__course{font-size:1.05rem}.ranked-item__header{gap:.5rem}}
