*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--green: #0c3154;--green-mid: #0c6ec9;--green-light: #e0edf9;--green-pale: #f2f7fb;--red: #b91c1c;--red-light: #fef2f2;--gold: #c8972a;--text: #1a1a1a;--text-muted: #6b7280;--border: #d1d5db;--radius: 10px;--shadow: 0 4px 24px rgba(0,0,0,.08)}body{font-family:DM Sans,sans-serif;background:var(--green-pale);color:var(--text);min-height:100vh}.page-header{background:var(--green);color:#fff;padding:24px 32px;display:flex;align-items:center;gap:20px}.page-header img{height:56px;filter:brightness(0) invert(1)}.page-header-text h1{font-family:Playfair Display,serif;font-size:1.35rem;font-weight:700;line-height:1.2}.page-header-text p{font-size:.85rem;opacity:.8;margin-top:2px}.page-body{max-width:720px;margin:40px auto;padding:0 16px 80px}.form-wrapper{width:100%}.stepper{display:flex;align-items:center;justify-content:space-between;position:relative;margin-bottom:32px;padding:0 8px}.stepper:before{content:"";position:absolute;top:18px;left:8px;right:8px;height:2px;background:var(--border);z-index:0}.step-line{display:none}.step{display:flex;flex-direction:column;align-items:center;gap:6px;z-index:1}.step-dot{width:36px;height:36px;border-radius:50%;background:#fff;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:var(--text-muted);transition:all .2s}.step.done .step-dot{background:var(--green);border-color:var(--green);color:#fff}.step.active .step-dot{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 0 0 4px var(--green-light)}.step-label{font-size:.72rem;color:var(--text-muted);white-space:nowrap;font-weight:500}.step.active .step-label{color:var(--green);font-weight:600}.step.done .step-label{color:var(--green)}.form-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:36px}.form-section{width:100%}.section-title{font-family:Playfair Display,serif;font-size:1.4rem;font-weight:700;color:var(--green);margin-bottom:8px}.section-desc{color:var(--text-muted);font-size:.9rem;margin-bottom:24px}.field{margin-bottom:20px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 540px){.field-row{grid-template-columns:1fr}}label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:#374151}.req{color:var(--red)}.optional{color:var(--text-muted);font-weight:400}input[type=text],input[type=tel],input[type=email],select{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:8px;font-family:DM Sans,sans-serif;font-size:.92rem;color:var(--text);background:#fff;transition:border-color .15s;appearance:none;-webkit-appearance:none}input:focus,select:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-light)}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.radio-group{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.radio-option{display:flex;align-items:center;gap:8px;background:var(--green-pale);border:1.5px solid var(--border);border-radius:8px;padding:9px 18px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .15s;color:var(--text)}.radio-option:has(input:checked){background:var(--green-light);border-color:var(--green);color:var(--green)}.radio-option input{accent-color:var(--green)}.info-banner{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:10px 14px;font-size:.875rem;color:#92400e;margin-bottom:16px;line-height:1.5}.info-banner-green{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:10px 14px;font-size:.875rem;color:#166534;margin-bottom:16px;line-height:1.5}.school-info-card{background:var(--green-pale);border:1px solid var(--green-light);border-radius:8px;padding:16px;margin-top:12px}.school-info-row{display:flex;justify-content:space-between;padding:6px 0;font-size:.875rem;border-bottom:1px solid var(--green-light)}.school-info-row:last-child{border-bottom:none}.school-info-row .label{color:var(--text-muted)}.school-info-row .value{font-weight:600}.review-grid{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.review-section{background:var(--green-pale);border-radius:8px;padding:16px 20px}.review-section h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:var(--green);font-weight:700;margin-bottom:10px}.review-row{display:flex;justify-content:space-between;font-size:.875rem;padding:4px 0;gap:16px}.review-row span{color:var(--text-muted);flex-shrink:0}.review-row strong{text-align:right}.declaration-box{background:var(--red-light);border:1px solid #fca5a5;border-radius:8px;padding:16px;margin-top:8px}.declaration-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:.875rem;line-height:1.6;font-weight:400;color:var(--text)}.declaration-label input{margin-top:3px;accent-color:var(--red);flex-shrink:0;width:16px;height:16px}.form-nav{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}.btn{padding:11px 28px;border-radius:8px;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .15s;border:none;line-height:1}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover:not(:disabled){background:var(--green-mid)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-outline{background:#fff;color:var(--green);border:1.5px solid var(--green)}.btn-outline:hover{background:var(--green-pale)}.error-msg{background:var(--red-light);color:var(--red);border:1px solid #fca5a5;border-radius:8px;padding:10px 14px;font-size:.875rem;margin-top:16px}.success-screen{display:flex;flex-direction:column;align-items:center;gap:32px}.success-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:48px 36px;text-align:center;max-width:480px;width:100%}.success-icon{width:64px;height:64px;background:var(--green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin:0 auto 20px}.success-card h2{font-family:Playfair Display,serif;font-size:1.6rem;color:var(--green);margin-bottom:12px}.success-card p{color:var(--text-muted);line-height:1.6;margin-bottom:28px}.success-card .btn{display:block;width:100%;margin-bottom:10px;text-align:center}.combobox{position:relative;width:100%}.combobox-input-wrap{position:relative;display:flex;align-items:center}.combobox-search-icon{position:absolute;left:12px;pointer-events:none;display:flex;align-items:center}.combobox-input{width:100%;padding:10px 36px;border:1.5px solid var(--border);border-radius:8px;font-family:DM Sans,sans-serif;font-size:.92rem;color:var(--text);background:#fff;transition:border-color .15s;appearance:none;padding-inline-start:36px!important}.combobox-input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-light)}.combobox-clear{position:absolute;right:10px;background:none;border:none;font-size:1.1rem;color:var(--text-muted);cursor:pointer;padding:0 4px;line-height:1}.combobox-clear:hover{color:var(--text)}.combobox-list{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1.5px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000001f;max-height:240px;overflow-y:auto;z-index:100;list-style:none;padding:4px;scroll-behavior:smooth}.combobox-option{padding:9px 12px;border-radius:6px;font-size:.9rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--text);transition:background .1s}.combobox-option.highlighted{background:var(--green-pale)}.combobox-option.selected{color:var(--green);font-weight:600}.combobox-option mark{background:#fef08a;color:inherit;border-radius:2px;padding:0 1px}.combobox-tick{color:var(--green);font-size:.8rem;flex-shrink:0}.combobox-empty{padding:12px;font-size:.875rem;color:var(--text-muted);text-align:center}.memo-print-area{display:none}@media print{body>*{display:none!important}.memo-print-area{display:block!important}.memo-page{font-family:Times New Roman,serif;font-size:12pt;line-height:1.6;padding:20mm 25mm;color:#000}.memo-header{display:flex;align-items:center;gap:20px;margin-bottom:8px}.memo-logo{height:70px}.memo-university{font-size:16pt;font-weight:700;font-family:Times New Roman,serif}.memo-school{font-size:12pt}.memo-contact{font-size:9pt;color:#555}.memo-divider{border-top:2px solid #000;margin:8px 0 16px}.memo-title-section{text-align:center;margin-bottom:16px}.memo-title{font-size:14pt;font-weight:700;text-decoration:underline}.memo-date{font-size:11pt;margin-top:4px}.memo-addressee{margin-bottom:16px}.memo-body p{margin-bottom:12px;text-align:justify}.memo-signature{margin-top:28px}.sig-name{font-weight:700}}.choice-block{border:1.5px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:20px}.choice-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.choice-badge{font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:.04em}.choice-badge-1{background:var(--green-light);color:var(--green)}.choice-badge-2{background:#e0edf9;color:#1c6fbd}.choice-sub{font-size:.82rem;color:var(--text-muted)}
