:root{--bg:#f6f8f9;--surface:#fff;--text:#26323a;--muted:#62727d;--border:#d9e1e6;--primary:#1f7a68;--primary-dark:#17604f;--primary-soft:#e4f2ee;--green:#2e7d4f;--green-bg:#e6f4ea;--amber:#8a6210;--amber-bg:#fdf3dd;--red:#b3372f;--red-bg:#fceceb;--blue:#2c5d8f;--blue-bg:#e9f1f9;--radius:10px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.55}.app{max-width:760px;margin:0 auto;padding:1.25rem 1rem 4rem}h1{color:#1a2429;margin:0 0 .5rem;font-size:1.6rem}p{margin:.5rem 0}.muted{color:var(--muted)}.label{font-weight:600}.preserve-lines{white-space:pre-wrap}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:1rem;display:flex}.app-title{color:var(--primary-dark);font-size:1.05rem;font-weight:700}.badge{white-space:nowrap;border-radius:999px;padding:.2rem .65rem;font-size:.8rem}.badge-mock{background:var(--amber-bg);color:var(--amber);border:1px solid #ecd9a8}.step-indicator{color:var(--muted);flex-wrap:wrap;gap:.35rem;margin:0 0 1.25rem;padding:0;font-size:.8rem;list-style:none;display:flex}.step-indicator li{background:#eceff1;border-radius:999px;padding:.25rem .7rem}.step-indicator li.step-active{background:var(--primary);color:#fff;font-weight:600}.step-indicator li.step-done{background:var(--primary-soft);color:var(--primary-dark)}.draft-notice{z-index:10;background:var(--amber-bg);color:var(--amber);border-radius:var(--radius);border:1px solid #ecd9a8;margin:0 0 1.25rem;padding:.6rem 1rem;font-size:.92rem;font-weight:600;position:sticky;top:.5rem;box-shadow:0 2px 8px #0000000f}section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.card{border:1px solid var(--border);border-radius:var(--radius);background:#fbfcfd;margin:1rem 0;padding:1rem 1.25rem}.month-progress{color:var(--primary-dark);text-transform:none;margin:0;font-size:.9rem;font-weight:600}.btn{font:inherit;border-radius:var(--radius);border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.7rem 1.3rem;font-weight:600;transition:background .15s,border-color .15s,color .15s,transform 60ms,box-shadow .15s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)scale(.99)}.btn:focus-visible,.opt:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary-dark)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark);color:#fff}.btn-lg{padding:.85rem 1.8rem;font-size:1.05rem}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000;text-decoration:underline}.btn:disabled{opacity:.55;cursor:not-allowed}.actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.actions-secondary{justify-content:flex-start;margin-top:.75rem}.warning-box,.error-box,.info-box,.success-box{border-radius:var(--radius);margin:1rem 0;padding:.75rem 1rem;font-size:.95rem}.warning-box{background:var(--amber-bg);color:var(--amber);border:1px solid #ecd9a8}.error-box{background:var(--red-bg);color:var(--red);border:1px solid #eec4c0}.info-box{background:var(--blue-bg);color:var(--blue);border:1px solid #c4d7ea}.success-box{background:var(--green-bg);color:var(--green);border:1px solid #bfe0cb}.warning-box ul,.info-box ul{margin:.35rem 0 0;padding-left:1.25rem}.chips{flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem;display:flex}.chip{border:1px solid var(--border);color:var(--muted);background:#f0f3f5;border-radius:999px;align-items:baseline;gap:.4rem;padding:.3rem .8rem;font-size:.9rem;font-weight:600;display:inline-flex}.chip small{font-size:.75rem;font-weight:400}.chip-filled{background:var(--green-bg);color:var(--green);border-color:#bfe0cb}.chip-confidence-low{background:var(--red-bg);color:var(--red);border-color:#eec4c0}.chip-confidence-medium{background:var(--amber-bg);color:var(--amber);border-color:#ecd9a8}.chip-confidence-high{background:var(--green-bg);color:var(--green);border-color:#bfe0cb}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:#fbfcfd;margin:1.25rem 0;padding:2.5rem 1.5rem;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone-over{border-color:var(--primary);background:var(--primary-soft)}.dropzone-title{margin:0;font-size:1.05rem;font-weight:600}.dropzone-file{color:var(--primary-dark);word-break:break-all;margin:0;font-weight:700}.collapsible{border:1px solid var(--border);border-radius:var(--radius);margin:1rem 0;padding:.75rem 1rem}.collapsible summary{cursor:pointer;font-weight:600}.month-list{flex-direction:column;gap:.6rem;margin:1.25rem 0;display:flex}.month-option{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#fbfcfd;align-items:center;gap:.85rem;padding:.85rem 1rem;display:flex}.month-option input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--primary)}.month-option-selected{border-color:var(--primary);background:var(--primary-soft)}.month-option-label{flex:1;font-weight:600}.mode-tabs{gap:.5rem;margin:1.25rem 0 1rem;display:flex}.mode-tab{font:inherit;border-radius:var(--radius);border:1px solid var(--border);min-height:48px;color:var(--muted);cursor:pointer;background:#fff;flex:1;padding:.7rem 1rem;font-weight:600}.mode-tab-active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark)}.audio-recorder{border:1px solid var(--border);border-radius:var(--radius);background:#fbfcfd;padding:1.25rem}.recorder-status{align-items:center;gap:.6rem;margin-bottom:1rem;font-weight:600;display:flex}.status-dot{background:#9fb0ba;border-radius:50%;width:.7rem;height:.7rem}.recorder-status-gravando .status-dot{background:var(--red);animation:1.2s infinite pulse}.recorder-status-pausado .status-dot{background:var(--amber)}.recorder-status-enviando .status-dot,.recorder-status-transcrevendo .status-dot{background:var(--blue);animation:1.2s infinite pulse}.recorder-status-concluido .status-dot{background:var(--green)}.recorder-status-erro .status-dot{background:var(--red)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.spinner{opacity:.9;border:2.5px solid;border-top-color:#0000;border-radius:50%;flex:none;width:1.05em;height:1.05em;animation:.8s linear infinite spin}.spinner-lg{width:2rem;height:2rem;color:var(--primary);border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.processing{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:center;gap:.75rem;margin:1.5rem 0;padding:2rem 1.5rem;display:flex}.processing-message{margin:0;font-weight:600;animation:.4s fade-in}.processing-hint{color:var(--muted);margin:0;font-size:.85rem}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.page-enter{animation:.25s page-enter}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.6s}.page-enter,.processing-message{animation:none}.btn:active:not(:disabled){transform:none}.recorder-status-gravando .status-dot,.recorder-status-enviando .status-dot,.recorder-status-transcrevendo .status-dot{animation:none}}.recorder-timer{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:400}.recorder-controls{flex-wrap:wrap;gap:.6rem;margin-bottom:.75rem;display:flex}.recorder-preview{margin-top:.75rem}.recorder-preview audio{width:100%}.recorder-preview-actions{flex-wrap:wrap;gap:.6rem;margin-top:.75rem;display:flex}.recorder-upload{border-top:1px dashed var(--border);margin-top:1rem;padding-top:1rem}.file-label{color:var(--muted);font-size:.92rem;display:block}.file-label input{font:inherit;margin-top:.5rem;font-size:.9rem;display:block}.editable-text textarea{width:100%;font:inherit;border:1px solid var(--border);border-radius:var(--radius);resize:vertical;color:var(--text);background:#fff;padding:.85rem 1rem;line-height:1.55}.editable-text textarea:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}.char-count{text-align:right;color:var(--muted);margin-top:.25rem;font-size:.8rem}.questions{flex-direction:column;gap:1rem;margin:1.25rem 0;display:flex}.question{display:block}.question-text{margin-bottom:.4rem;font-weight:600;display:block}.question input,.login input{width:100%;font:inherit;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:#fff;padding:.75rem 1rem}.question input:focus,.login input:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}.question-hint{color:var(--muted-text,#667);margin-bottom:.4rem;font-size:.85rem;display:block}.options{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.opt{font:inherit;border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:999px;padding:.6rem 1rem;font-size:.95rem;transition:background .15s,border-color .15s,color .15s,transform 60ms}.opt:active:not(:disabled){transform:scale(.97)}.opt:hover:not(:disabled){border-color:var(--primary)}.opt-selected{background:var(--primary);border-color:var(--primary);color:#fff}.signature-card{margin-top:1rem}.signature-options{flex-direction:column;gap:.6rem;margin-top:.6rem;display:flex}.signature-option{cursor:pointer;align-items:baseline;gap:.6rem;display:flex}.signature-option input[type=radio]{accent-color:var(--primary);flex:none;width:1.1rem;height:1.1rem;transform:translateY(2px)}.signature-input{width:100%;font:inherit;border:1px solid var(--border);border-radius:var(--radius);max-width:calc(100% - 1.7rem);margin-left:1.7rem;padding:.65rem .9rem}.signature-input:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}.export-list{flex-direction:column;gap:.75rem;margin:1.25rem 0;display:flex}.export-list .card{margin:0}.user-menu{flex-wrap:wrap;align-items:center;gap:.5rem;margin-left:auto;display:flex}.user-name{font-weight:600}.usage-meter{color:var(--muted);font-size:.8rem}.badge-plan{background:var(--primary-soft);color:var(--primary-dark);border:1px solid #bfe0cb}.auth-form{flex-direction:column;gap:.85rem;margin-top:1rem;display:flex}.auth-field{flex-direction:column;gap:.3rem;display:flex}.auth-field>span{font-size:.92rem;font-weight:600}.auth-form input,.auth-form select{width:100%;font:inherit;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:#fff;padding:.75rem 1rem}.auth-form input:focus,.auth-form select:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}.auth-alt{text-align:center;margin-top:1rem}.consent-check{cursor:pointer;align-items:flex-start;gap:.6rem;margin:1rem 0 0;font-size:.92rem;display:flex}.consent-check input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:var(--primary);flex:none;margin-top:.1rem}.consent-check a{color:var(--primary-dark)}h2{color:#1a2429;margin:1.5rem 0 .5rem;font-size:1.15rem}.invite-generator{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.invite-generator .auth-field{min-width:12rem}.invite-code{background:var(--primary-soft);color:var(--primary-dark);word-break:break-all;border-radius:6px;padding:.25rem .55rem;font-family:ui-monospace,Cascadia Code,monospace;font-weight:700}.table-scroll{margin:.5rem 0 1rem;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.88rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.5rem .6rem}.admin-table th{color:var(--muted);font-weight:600}.admin-table .btn,.admin-table select{padding:.35rem .7rem;font-size:.88rem}.btn-danger{color:var(--red);border-color:#eec4c0}.btn-danger:hover:not(:disabled){background:var(--red-bg);border-color:var(--red);color:var(--red)}@media (width<=480px){.app{padding:.75rem .6rem 3rem}section{padding:1.1rem}.actions{flex-direction:column-reverse;align-items:stretch}.actions .btn{width:100%}}
