:root{--color-primary: #2E7D68;--color-primary-hover: #0F3D3E;--color-text: #1A1F36;--color-text-muted: #666666;--color-bg: #ffffff;--color-surface: #f9fafb;--color-border: #e5e7eb;--color-success: #16a34a;--color-success-bg: #f0fdf4;--color-error: #dc2626;--color-error-bg: #fef2f2;--color-warm: #92400e;--color-warm-bg: #fffbeb;--color-cream: #F7E8D6;--color-coral: #FF6B5F;--color-sage: #A7C4A0;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--max-width: 600px;--tap-target: 48px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);color:var(--color-text);background:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{display:block;max-width:100%}input,button,select,textarea{font:inherit;color:inherit}.container{max-width:var(--max-width);margin:0 auto;padding:1.5rem 1.25rem}.page{min-height:100dvh;display:flex;flex-direction:column}.parent-page{font-size:18px}.parent-page h1{font-size:1.75rem;line-height:1.3}.parent-page p{font-size:1.125rem}h1{font-size:1.75rem;font-weight:700;line-height:1.3;color:var(--color-text)}h2{font-size:1.375rem;font-weight:600;line-height:1.4}p{color:var(--color-text-muted);line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap-target);padding:.75rem 1.5rem;font-size:1.063rem;font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease,transform .1s ease;text-decoration:none;gap:.5rem}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{background:#86bfae;cursor:not-allowed;transform:none}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-border)}.btn-full{width:100%}.input-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1.25rem}.input-label{font-size:.938rem;font-weight:500;color:var(--color-text)}.input-field{min-height:var(--tap-target);padding:.75rem 1rem;font-size:1rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);transition:border-color .15s ease}.input-field:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2e7d681a}.input-field::placeholder{color:#9ca3af}.select-field{min-height:var(--tap-target);padding:.75rem 2.5rem .75rem 1rem;font-size:1rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' 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-repeat:no-repeat;background-position:right .75rem center}.select-field:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2e7d681a}.checkbox-group{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem}.checkbox-group input[type=checkbox]{min-width:20px;min-height:20px;margin-top:.125rem;accent-color:var(--color-primary)}.checkbox-group label{font-size:.938rem;line-height:1.5;color:var(--color-text);cursor:pointer}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.025em}.badge-pending{background:var(--color-warm-bg);color:var(--color-warm)}.badge-processing{background:#eff6ff;color:var(--color-primary)}.badge-complete{background:var(--color-success-bg);color:var(--color-success)}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);transition:box-shadow .15s ease}.card:hover{box-shadow:var(--shadow-md)}.alert{padding:1rem 1.25rem;border-radius:var(--radius-sm);font-size:.938rem;line-height:1.5}.alert-success{background:var(--color-success-bg);color:var(--color-success)}.alert-error{background:var(--color-error-bg);color:var(--color-error)}.lang-toggle{display:inline-flex;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.lang-toggle button{min-height:40px;padding:.5rem 1.25rem;font-size:.938rem;font-weight:500;border:none;background:var(--color-bg);cursor:pointer;transition:background-color .15s ease}.lang-toggle button.active{background:var(--color-primary);color:#fff}.lang-toggle button:not(.active):hover{background:var(--color-surface)}.text-center{text-align:center}.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}.gap-1{gap:.5rem}.gap-2{gap:1rem}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.recording-pulse{animation:pulse 1.5s ease-in-out infinite}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.spinner,.recording-pulse{animation:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary);color:#fff;padding:.5rem 1rem;z-index:100;font-size:.875rem;font-weight:600;text-decoration:none;border-radius:0 0 var(--radius-sm) 0;transition:top .15s ease}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
