@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap";:root{--color-primary: #E22320;--color-primary-dark: #c41e1d;--color-primary-light: #ff5a59;--color-primary-subtle: rgba(226, 35, 32, .06);--color-primary-glow: rgba(226, 35, 32, .25);--color-text: #1a1a2e;--color-text-secondary: #6b7280;--color-text-light: #9ca3af;--color-border: #edf0f3;--color-border-focus: #E22320;--color-bg: #ffffff;--color-bg-page: #f4f6f8;--color-bg-card: #ffffff;--color-bg-input: #f9fafb;--color-bg-hover: #f3f4f6;--color-success: #10b981;--color-success-bg: #ecfdf5;--color-warning: #f59e0b;--color-warning-bg: #fffbeb;--color-danger: #ef4444;--color-danger-bg: #fef2f2;--color-info: #3b82f6;--color-info-bg: #eff6ff;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .1);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-pill: 999px;--transition: all .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: all .35s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--color-bg-page);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:DM Sans,sans-serif;font-weight:700;line-height:1.25;color:var(--color-text);letter-spacing:-.02em}h1{font-size:2.25rem;margin-bottom:.5rem}h2{font-size:1.75rem;margin-bottom:.5rem}h3{font-size:1.35rem;margin-bottom:.5rem}h4{font-size:1.1rem;margin-bottom:.35rem}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}header,.app-header{background:linear-gradient(135deg,#e22320,#c41e1d);color:#fff;padding:1.1rem 2rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 12px #e223204d}header h1,.app-header h1{color:#fff;font-size:1.5rem;margin:0;font-weight:700;letter-spacing:-.02em}header p,.app-header p{color:#ffffffd1;font-size:.82rem;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.7rem 1.6rem;font-size:.9rem;font-weight:600;font-family:DM Sans,sans-serif;line-height:1;border:none;border-radius:var(--radius-pill);cursor:pointer;transition:var(--transition);text-decoration:none;white-space:nowrap;user-select:none;-webkit-user-select:none;touch-action:manipulation;min-height:42px;letter-spacing:.01em}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#e22320,#c41e1d);color:#fff;box-shadow:0 3px 12px var(--color-primary-glow)}.btn-primary:hover:not(:disabled){box-shadow:0 5px 18px var(--color-primary-glow);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px var(--color-primary-glow)}.btn-secondary{background:#fff;color:var(--color-primary);border:2px solid var(--color-primary);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--color-primary-subtle);box-shadow:var(--shadow-sm)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1.5px solid var(--color-border)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-hover);border-color:#d1d5db;color:var(--color-text)}.btn-success{background:var(--color-success);color:#fff;box-shadow:0 3px 10px #10b9814d}.btn-success:hover:not(:disabled){background:#059669;box-shadow:0 5px 16px #10b98159;transform:translateY(-1px)}.btn-danger{background:var(--color-danger);color:#fff;box-shadow:0 3px 10px #ef44444d}.btn-danger:hover:not(:disabled){background:#dc2626;box-shadow:0 5px 16px #ef444459}.btn-sm{padding:.45rem 1.1rem;font-size:.82rem;min-height:34px}.btn-lg{padding:.9rem 2rem;font-size:1.05rem;min-height:50px}.card{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:1.75rem;box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid var(--color-border)}.card:hover{box-shadow:var(--shadow-md)}.card-header{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1.5px solid var(--color-border)}.card-title{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0;letter-spacing:-.02em}.card-description{font-size:.88rem;color:var(--color-text-secondary);margin-top:.3rem}.form-group{margin-bottom:1.4rem}.form-label{display:block;font-weight:600;font-size:.88rem;color:var(--color-text);margin-bottom:.4rem;letter-spacing:.01em}.form-label.required:after{content:" *";color:var(--color-primary)}.form-input,.form-textarea,.form-select{width:100%;padding:.7rem 1rem;font-size:.92rem;font-family:DM Sans,sans-serif;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-input);color:var(--color-text);transition:var(--transition);min-height:44px;outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-light)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-primary);background:#fff;box-shadow:0 0 0 3.5px var(--color-primary-subtle)}.form-textarea{min-height:110px;resize:vertical;border-radius:var(--radius-md)}.form-input[type=date],.form-input[type=number]{cursor:pointer}.form-checkbox-group,.form-radio-group{display:flex;flex-wrap:wrap;gap:.75rem}.form-checkbox,.form-radio{display:flex;align-items:center;gap:.55rem;cursor:pointer;padding:.65rem 1rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-input);transition:var(--transition);min-height:42px;font-size:.9rem}.form-checkbox:hover,.form-radio:hover{border-color:#d1d5db;background:#fff}.form-checkbox input[type=checkbox],.form-radio input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.form-checkbox.checked,.form-radio.checked{border-color:var(--color-primary);background:var(--color-primary-subtle)}.table-container{overflow-x:auto;margin:1.25rem 0;border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.table{width:100%;border-collapse:collapse;background:#fff;font-size:.9rem}.table thead{background:var(--color-bg-page)}.table th{padding:.85rem 1rem;text-align:left;font-weight:600;font-size:.82rem;color:var(--color-text-secondary);border-bottom:1.5px solid var(--color-border);text-transform:uppercase;letter-spacing:.04em}.table td{padding:.85rem 1rem;border-bottom:1px solid var(--color-border);color:var(--color-text)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--color-primary-subtle)}.table input{width:100%;padding:.45rem .7rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:.88rem;font-family:DM Sans,sans-serif;background:var(--color-bg-input);min-height:36px;transition:var(--transition)}.table input:focus{outline:none;border-color:var(--color-primary);background:#fff;box-shadow:0 0 0 3px var(--color-primary-subtle)}.progress-container{background:var(--color-bg-card);padding:1.4rem 1.75rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);margin-bottom:1.75rem}.progress-bar{height:6px;background:var(--color-border);border-radius:var(--radius-pill);overflow:hidden;margin-bottom:1rem}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));border-radius:var(--radius-pill);transition:width .4s cubic-bezier(.4,0,.2,1)}.progress-steps{display:flex;justify-content:space-between;gap:.4rem;flex-wrap:wrap}.progress-step{flex:1;min-width:55px;text-align:center;font-size:.75rem;color:var(--color-text-light);padding:.4rem .2rem;transition:var(--transition)}.progress-step.active{color:var(--color-primary);font-weight:700}.progress-step.completed{color:var(--color-success);font-weight:600}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;font-size:.76rem;font-weight:600;border-radius:var(--radius-pill);white-space:nowrap;font-family:DM Sans,sans-serif}.badge-success{background:var(--color-success-bg);color:#065f46}.badge-warning{background:var(--color-warning-bg);color:#92400e}.badge-danger{background:var(--color-danger-bg);color:#991b1b}.badge-info{background:var(--color-info-bg);color:#1e40af}.alert{padding:.9rem 1.1rem;border-radius:var(--radius-md);margin-bottom:1.25rem;border-left:4px solid;font-size:.9rem}.alert-success{background:var(--color-success-bg);border-color:var(--color-success);color:#065f46}.alert-warning{background:var(--color-warning-bg);border-color:var(--color-warning);color:#92400e}.alert-danger{background:var(--color-danger-bg);border-color:var(--color-danger);color:#991b1b}.alert-info{background:var(--color-info-bg);border-color:var(--color-info);color:#1e40af}.signature-container{border:1.5px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;padding:1rem}.signature-canvas{border:2px dashed var(--color-border);border-radius:var(--radius-md);cursor:crosshair;touch-action:none;background:var(--color-bg-input)}.signature-actions{display:flex;gap:.65rem;margin-top:.85rem}.loading{display:inline-block;width:20px;height:20px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--color-text-secondary)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.hidden{display:none}@media (max-width: 768px){h1{font-size:1.75rem}h2{font-size:1.4rem}h3{font-size:1.15rem}.container{padding:0 1rem}.card{padding:1.1rem;border-radius:var(--radius-lg)}.btn{padding:.6rem 1.2rem;font-size:.88rem}.progress-steps{font-size:.7rem}.table{font-size:.85rem}.table th,.table td{padding:.7rem .5rem}header,.app-header{padding:.9rem 1.1rem}header h1,.app-header h1{font-size:1.2rem}}@media (max-width: 480px){.btn-group{flex-direction:column;width:100%}.btn-group .btn{width:100%}}
