:root{--primary: #4f46e5;--primary-hover: #4338ca;--bg: #f9fafb;--card-bg: #ffffff;--text: #1f2937;--text-light: #6b7280;--border: #e5e7eb;--error: #dc2626;--success: #16a34a;--radius: 10px;font-family:system-ui,-apple-system,sans-serif;line-height:1.5;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}.page-container{max-width:600px;margin:0 auto;padding:1rem}.page-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.page-header h2{margin:0;font-size:1.25rem;flex:1}.header-actions{display:flex;gap:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.2rem;border:none;border-radius:var(--radius);font-size:.95rem;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-ghost{background:transparent;color:var(--primary);padding:.6rem .8rem}.btn-ghost:hover:not(:disabled){background:#4f46e514}label{display:block;margin-bottom:1rem;font-size:.875rem;font-weight:500;color:var(--text-light)}label input,label select{display:block;width:100%;margin-top:.25rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;color:var(--text);background:var(--card-bg)}label input:focus,label select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e526}.search-input{width:100%;padding:.65rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;margin-bottom:1rem;background:var(--card-bg)}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e526}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{width:100%;max-width:400px;background:var(--card-bg);border-radius:var(--radius);padding:2rem;box-shadow:0 1px 3px #0000001a}.login-card h1{text-align:center;font-size:1.5rem;margin:0 0 .25rem}.login-subtitle{text-align:center;color:var(--text-light);font-size:.875rem;margin-bottom:1.5rem}.login-card .btn-primary{width:100%;margin-top:.5rem}.error-message{background:#fef2f2;color:var(--error);padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.875rem;border:1px solid #fecaca}.step-indicator{background:#4f46e514;color:var(--primary);padding:.5rem 1rem;border-radius:var(--radius);font-size:.875rem;font-weight:600;margin-bottom:1.25rem;text-align:center}.camera-capture{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 1rem}.camera-label{font-size:1rem;color:var(--text-light);text-align:center}.camera-preview{max-width:100%;max-height:300px;border-radius:var(--radius);border:1px solid var(--border)}.dados-form{background:var(--card-bg);border-radius:var(--radius);padding:1.25rem;box-shadow:0 1px 3px #0000000d}.dados-form h3{margin:0 0 .25rem;font-size:1.1rem}.form-hint{color:var(--text-light);font-size:.8rem;margin-bottom:1rem}.dados-form .btn-primary{width:100%;margin-top:.5rem}.patient-list{display:flex;flex-direction:column;gap:.75rem}.patient-card{background:var(--card-bg);border-radius:var(--radius);padding:1rem;box-shadow:0 1px 3px #0000000f;cursor:pointer;transition:box-shadow .15s;border:1px solid var(--border)}.patient-card:hover{box-shadow:0 2px 8px #0000001a}.patient-card-name{font-weight:600;font-size:1rem;margin-bottom:.25rem}.patient-card-info{display:flex;gap:1rem;font-size:.85rem;color:var(--text-light)}.patient-card-badge{margin-top:.5rem;display:inline-block;background:#4f46e514;color:var(--primary);padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:500}.patient-card-actions{display:flex;gap:.5rem;margin-top:.75rem}.btn-sistema{flex:1;padding:.5rem 1rem;border:none;border-radius:var(--radius);font-size:.8rem;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:opacity .2s}.btn-sistema:active{opacity:.7}.btn-tasy{background:#0ea5e9;color:#fff}.btn-mv{background:#10b981;color:#fff}.toast-success{position:fixed;top:1rem;left:50%;transform:translate(-50%);background:var(--success);color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius);font-size:.9rem;font-weight:500;z-index:1000;box-shadow:0 4px 12px #00000026;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-card{background:var(--card-bg);border-radius:var(--radius);padding:1.5rem;max-width:400px;width:100%;text-align:center;box-shadow:0 8px 30px #0003}.modal-icon{font-size:2.5rem;margin-bottom:.5rem}.modal-card h3{margin:0 0 .75rem;color:var(--error);font-size:1.1rem}.modal-card p{margin:0 0 .75rem;font-size:.9rem;color:var(--text-light)}.modal-nomes{background:var(--bg);border-radius:var(--radius);padding:.75rem;margin-bottom:.75rem;text-align:left;font-size:.85rem;display:flex;flex-direction:column;gap:.4rem}.modal-pergunta{font-weight:500;color:var(--text)!important}.modal-actions{display:flex;gap:.5rem;margin-top:1rem}.modal-actions .btn{flex:1;font-size:.85rem}.confirmacao h3{margin:0 0 1rem;font-size:1.1rem}.review-section{background:var(--card-bg);border-radius:var(--radius);padding:1rem;margin-bottom:1rem;border:1px solid var(--border)}.review-section h4{margin:0 0 .5rem;font-size:.95rem;color:var(--primary)}dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem .75rem;margin:0}dt{font-weight:500;font-size:.85rem;color:var(--text-light)}dd{margin:0;font-size:.95rem}.confirmacao-actions{display:flex;gap:.75rem;margin-top:1rem}.confirmacao-actions .btn-primary{flex:1}.detail-sections{display:flex;flex-direction:column;gap:1rem}.detail-section{background:var(--card-bg);border-radius:var(--radius);padding:1rem;border:1px solid var(--border)}.detail-section h3{margin:0 0 .75rem;font-size:1rem;color:var(--primary)}.detail-meta{text-align:center;color:var(--text-light);padding:.5rem 0}.detail-actions{display:flex;gap:.75rem;margin-top:1rem;justify-content:center}.text-center{text-align:center;padding:2rem 0;color:var(--text-light)}
