:root{--primary: #0d9488;--primary-dark: #0f766e;--primary-light: #ccfbf1;--accent: #f59e0b;--bg: #f0fdfa;--white: #ffffff;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--red: #ef4444;--green: #10b981;--radius: 10px;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .06)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--gray-800);line-height:1.6;min-height:100vh}.header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;position:sticky;top:0;z-index:100;box-shadow:0 2px 12px #0d94884d}.header-inner{max-width:920px;margin:0 auto;padding:24px 24px 20px}.logo-row{display:flex;align-items:center;gap:14px;margin-bottom:8px}.logo-icon{width:46px;height:46px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:25px;box-shadow:0 2px 8px #00000026}.logo-text{font-size:26px;font-weight:700;letter-spacing:-.5px}.header-subtitle{font-size:14px;opacity:.92;margin-top:2px}.header-note{font-size:12px;opacity:.8;margin-top:8px;background:#ffffff1f;display:inline-block;padding:4px 10px;border-radius:6px}.progress-container{max-width:920px;margin:0 auto;padding:16px 24px 0}.progress-bar-bg{height:6px;background:var(--gray-200);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:3px;transition:width .4s ease}.steps{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:14px}.step-pill{font-size:11px;font-weight:600;color:var(--gray-500);background:var(--white);border:1px solid var(--gray-200);padding:5px 11px;border-radius:20px;cursor:pointer;transition:all .25s;display:flex;align-items:center;gap:6px;font-family:inherit}.step-pill .dot{width:16px;height:16px;border-radius:50%;background:var(--gray-200);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:700}.step-pill.active{border-color:var(--primary);color:var(--primary-dark);background:var(--primary-light)}.step-pill.active .dot{background:var(--primary)}.step-pill.completed .dot{background:var(--green)}.form-container{max-width:920px;margin:0 auto;padding:8px 24px 60px}.section{background:var(--white);border-radius:var(--radius);padding:26px 28px 22px;margin-top:20px;box-shadow:var(--shadow);border:1px solid var(--gray-200)}.section-head{display:flex;align-items:center;gap:12px;margin-bottom:4px}.section-number{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--primary);color:#fff;border-radius:50%;font-size:14px;font-weight:700;flex-shrink:0}.section-title{font-size:20px;font-weight:700;color:var(--gray-900)}.entity-badge{font-family:ui-monospace,monospace;font-size:11px;font-weight:600;color:var(--primary-dark);background:var(--primary-light);padding:2px 8px;border-radius:5px;margin-left:auto}.section-desc{font-size:13px;color:var(--gray-500);margin:4px 0 20px}.subhead{font-size:13px;font-weight:700;color:var(--gray-700);text-transform:uppercase;letter-spacing:.4px;margin:22px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;gap:8px}.subhead.sm{margin-top:6px}.col-tag{font-family:ui-monospace,monospace;font-size:10px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--gray-400);background:var(--gray-50);border:1px solid var(--gray-200);padding:1px 6px;border-radius:4px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}.field-row.single{grid-template-columns:1fr}.field-row.triple{grid-template-columns:1fr 1fr 1fr}.field-group{display:flex;flex-direction:column;min-width:0}label{font-size:13px;font-weight:600;color:var(--gray-700);margin-bottom:5px}label .req{color:var(--red);margin-left:2px}label .col{font-family:ui-monospace,monospace;font-size:10px;font-weight:500;color:var(--gray-400);margin-left:6px}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=url],input[type=date],input[type=time],input[type=file],select,textarea{padding:9px 12px;border:1.5px solid var(--gray-200);border-radius:8px;font-size:14px;font-family:inherit;color:var(--gray-800);background:var(--gray-50);transition:border-color .2s,box-shadow .2s;outline:none;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0d94881f;background:#fff}input:disabled{background:var(--gray-100);color:var(--gray-400);cursor:not-allowed}textarea{resize:vertical;min-height:60px}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239CA3AF' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.hint{font-size:11px;color:var(--gray-400);margin-top:3px}.hint.block{display:block;margin-bottom:8px}.chip-group{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.chip-group label{display:flex;align-items:center;gap:7px;font-weight:400;font-size:13px;cursor:pointer;padding:7px 13px;border:1.5px solid var(--gray-200);border-radius:8px;background:var(--gray-50);transition:all .2s;margin-bottom:0}.chip-group label:hover{border-color:var(--primary);background:var(--primary-light)}.chip-group label:has(input:checked){border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark);font-weight:500}input[type=checkbox],input[type=radio]{accent-color:var(--primary);width:15px;height:15px}.repeat-card{border:1.5px solid var(--gray-200);border-radius:var(--radius);padding:20px;margin-bottom:16px;background:var(--gray-50)}.dept-card{background:#fff}.repeat-card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.repeat-card-head .idx{width:24px;height:24px;border-radius:6px;background:var(--primary);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.repeat-card-head .idx.accent{background:var(--accent)}.repeat-card-head .rc-title{font-size:15px;font-weight:700;color:var(--gray-800)}.btn-remove{margin-left:auto;background:none;border:1px solid var(--gray-200);color:var(--red);font-size:12px;font-weight:600;padding:5px 12px;border-radius:6px;cursor:pointer;transition:all .2s;font-family:inherit}.btn-remove:hover{background:#fef2f2;border-color:var(--red)}.session-row .btn-remove{margin-left:0;height:38px}.btn-add{display:inline-flex;align-items:center;gap:7px;background:var(--white);border:1.5px dashed var(--primary);color:var(--primary-dark);font-weight:600;font-size:13px;padding:10px 18px;border-radius:8px;cursor:pointer;transition:all .2s;margin-top:4px;font-family:inherit}.btn-add:hover{background:var(--primary-light)}.btn-add.small{padding:7px 14px;font-size:12px}.nested-block{border-left:3px solid var(--primary-light);padding-left:16px;margin:16px 0 6px}.inherit-note{font-size:12.5px;color:var(--gray-500);background:var(--gray-50);border:1px dashed var(--gray-200);border-radius:8px;padding:9px 12px}.inherit-note code{font-family:ui-monospace,monospace;font-size:11px}.sessions-block{margin-top:12px}.session-row{align-items:end;margin-bottom:8px}.session-end .row{display:flex;gap:8px;align-items:end}.oh-scroll{overflow-x:auto}.oh-table{width:100%;border-collapse:collapse;font-size:13px}.oh-table th{text-align:left;padding:7px 10px;background:var(--primary-light);font-weight:600;font-size:12px;border:1px solid var(--gray-200)}.oh-table td{padding:5px 10px;border:1px solid var(--gray-200);background:#fff}.oh-table input[type=time]{padding:6px 8px;font-size:13px}.oh-table .day{font-weight:600;color:var(--gray-700)}.file-upload{border:2px dashed var(--gray-300);border-radius:8px;padding:18px;text-align:center;cursor:pointer;transition:all .2s;background:var(--gray-50)}.file-upload:hover{border-color:var(--primary);background:var(--primary-light)}.file-upload .upload-icon{font-size:24px;margin-bottom:4px}.file-upload .upload-text{font-size:13px;color:var(--gray-600)}.file-upload .upload-hint{font-size:11px;color:var(--gray-400);margin-top:3px}.callout{display:flex;gap:10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:12px 14px;font-size:12.5px;color:#1e40af;margin-bottom:18px;line-height:1.5}.callout .ic{font-size:15px}.nav-buttons{display:flex;justify-content:space-between;margin-top:20px;padding:18px 4px 0}.btn{padding:11px 26px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .2s;font-family:inherit}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--gray-100);color:var(--gray-600)}.btn-secondary:hover{background:var(--gray-200)}.btn-submit{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:13px 38px;font-size:15px}.btn-submit:hover:not(:disabled){box-shadow:0 4px 14px #0d948866;transform:translateY(-1px)}.agree-row{margin-bottom:18px}.agree{display:flex;align-items:flex-start;gap:10px;font-weight:400;cursor:pointer}.agree input{margin-top:3px}.review-json{background:var(--gray-900);color:#a7f3d0;font-family:ui-monospace,monospace;font-size:12px;padding:18px;border-radius:8px;overflow-x:auto;line-height:1.6;white-space:pre;max-height:460px;overflow-y:auto}.submit-error{margin-top:14px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:8px;padding:12px 14px;font-size:13px}.btn-link{margin-left:10px;background:none;border:none;color:#991b1b;font-weight:600;font-size:13px;text-decoration:underline;cursor:pointer;font-family:inherit;padding:0}.success-screen{text-align:center;padding:60px 28px;background:#fff;border-radius:var(--radius);margin-top:20px;box-shadow:var(--shadow)}.success-screen .check{font-size:60px;margin-bottom:14px}.success-screen h2{font-size:23px;color:var(--gray-900);margin-bottom:8px}.success-screen p{color:var(--gray-600);font-size:15px}.success-screen p.muted{margin-top:14px;font-size:14px;color:var(--gray-400)}@media (max-width: 680px){.field-row,.field-row.triple{grid-template-columns:1fr}.header-inner{padding:18px 16px}.form-container{padding:8px 12px 40px}.section{padding:20px 16px}.entity-badge{display:none}}
