:root{--color-primary:#1b6b4a;--color-primary-light:#2a9d6e;--color-primary-dark:#145236;--color-primary-bg:#e8f5ee;--color-secondary:#f59e0b;--color-secondary-light:#fcd34d;--color-success:#10b981;--color-error:#ef4444;--color-error-light:#fee2e2;--color-warning:#f59e0b;--color-info:#3b82f6;--color-whatsapp:#25d366;--color-whatsapp-dark:#1da851;--color-bg:#fafafa;--color-surface:#fff;--color-surface-hover:#f5f5f5;--color-border:#e0e0e0;--color-border-focus:#1b6b4a;--color-text:#1a1a1a;--color-text-secondary:#666;--color-text-muted:#999;--color-text-inverse:#fff;--color-admin-sidebar:#1a1d23;--color-admin-sidebar-hover:#2a2d35;--color-admin-bg:#f0f2f5;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 25px -3px #0000001a;--shadow-xl:0 20px 50px -5px #00000026;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.35s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.form-group{margin-bottom:var(--space-lg)}.form-label{font-size:var(--font-size-lg);margin-bottom:var(--space-sm);color:var(--color-text);font-weight:600;display:block}.form-label .required{color:var(--color-error);margin-left:var(--space-xs)}.form-help{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-xs);margin-bottom:var(--space-sm);display:block}.form-input,.form-select,.form-textarea{width:100%;font-size:var(--font-size-lg);font-family:var(--font-family);color:var(--color-text);background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);appearance:none;padding:.875rem 1rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 3px #1b6b4a26}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--color-error);box-shadow:0 0 0 3px #ef44441a}.form-error{font-size:var(--font-size-sm);color:var(--color-error);margin-top:var(--space-xs);animation:.2s slideDown;display:block}.form-textarea{resize:vertical;min-height:120px}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem;padding-right:2.5rem}.form-option{margin-bottom:var(--space-sm);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);align-items:center;min-height:52px;padding:.875rem 1rem;display:flex}.form-option:hover{border-color:var(--color-primary-light);background:var(--color-primary-bg)}.form-option.selected{border-color:var(--color-primary);background:var(--color-primary-bg)}.form-option input[type=radio],.form-option input[type=checkbox]{width:22px;height:22px;margin-right:var(--space-md);accent-color:var(--color-primary);flex-shrink:0}.form-option label{font-size:var(--font-size-lg);cursor:pointer;flex:1}.btn{justify-content:center;align-items:center;gap:var(--space-sm);font-size:var(--font-size-lg);font-weight:600;font-family:var(--font-family);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;padding:.875rem 1.75rem;line-height:1.4;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-whatsapp{background:var(--color-whatsapp);color:var(--color-text-inverse);font-size:var(--font-size-xl);border-radius:var(--radius-lg);width:100%;padding:1rem 2rem}.btn-whatsapp:hover:not(:disabled){background:var(--color-whatsapp-dark);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-whatsapp .btn-icon{width:28px;height:28px}.btn-secondary{color:var(--color-primary);border:2px solid var(--color-primary);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--color-primary-bg)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-surface-hover)}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.card-body{padding:var(--space-xl)}.form-section{margin-bottom:var(--space-2xl)}.form-section-title{font-size:var(--font-size-xl);color:var(--color-primary-dark);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:2px solid var(--color-primary-bg);font-weight:700}.page-container{background:linear-gradient(135deg, var(--color-primary-bg) 0%, var(--color-bg) 50%);min-height:100vh;padding:var(--space-md)}.form-container{max-width:640px;padding:var(--space-lg) 0;margin:0 auto}.form-header{text-align:center;margin-bottom:var(--space-2xl)}.form-header h1{font-size:var(--font-size-2xl);color:var(--color-primary-dark);margin-bottom:var(--space-sm)}.form-header p{color:var(--color-text-secondary);font-size:var(--font-size-lg)}.confirmation-screen{text-align:center;padding:var(--space-2xl) var(--space-md)}.confirmation-icon{width:80px;height:80px;margin:0 auto var(--space-xl);background:var(--color-primary-bg);border-radius:var(--radius-full);justify-content:center;align-items:center;animation:.4s scaleIn;display:flex}.confirmation-icon svg{width:40px;height:40px;color:var(--color-primary)}.protocol-number{font-size:var(--font-size-2xl);color:var(--color-primary-dark);background:var(--color-primary-bg);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);margin:var(--space-lg) 0;letter-spacing:1px;font-weight:700;display:inline-block}.loading-spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:24px;height:24px;animation:.6s linear infinite spin;display:inline-block}.status-badge{font-size:var(--font-size-xs);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;align-items:center;padding:.25rem .75rem;font-weight:600;display:inline-flex}.tag-badge{font-size:var(--font-size-xs);border-radius:var(--radius-full);border:1px solid;align-items:center;gap:.25rem;padding:.2rem .6rem;font-weight:500;display:inline-flex}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media print{body{color:#000;background:#fff;font-size:12pt}.no-print{display:none!important}.card{box-shadow:none;border:1px solid #ccc}.form-section{page-break-inside:avoid}.print-header{text-align:center;border-bottom:2px solid #000;margin-bottom:1cm;padding-bottom:.5cm}.print-field{border-bottom:1px dotted #ccc;margin-bottom:.3cm;padding:.2cm 0}.print-field-label{color:#333;font-size:10pt;font-weight:700}.print-field-value{margin-top:.1cm;font-size:11pt}}@media (min-width:768px){.page-container{padding:var(--space-xl)}.form-container{padding:var(--space-xl) 0}.form-header h1{font-size:var(--font-size-3xl)}.card-body{padding:var(--space-2xl)}}
