*{box-sizing:border-box;min-width:0}:root{color-scheme:light dark;--bg-0: #f3f5fb;--bg-1: #ffffff;--bg-soft: #f7faff;--text-main: #10203a;--text-soft: #4c5d7e;--border: #dfe6f5;--shadow-lg: 0 16px 40px rgba(16, 32, 58, .08);--shadow-md: 0 10px 24px rgba(19, 39, 71, .06)}html,body{width:100%;max-width:100%;overflow-x:hidden}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at 10% 0%,#dff7f3 0%,transparent 40%),radial-gradient(circle at 90% 0%,#e8efff 0%,transparent 35%),#f3f5fb;color:var(--text-main)}.page{min-height:100vh;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom))}.shell{max-width:980px;width:100%;margin:0 auto;display:grid;gap:1rem;overflow-x:clip}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-radius:18px;background:#ffffffe6;border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:fadeInUp .28s ease both;overflow:hidden;min-height:88px}.app-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.nav-link{padding:.4rem .6rem;font-size:.82rem;font-weight:600;color:#5f6e8a;text-decoration:none;border-radius:8px;transition:color .2s,background .2s}.nav-link:hover{color:#33435f;background:#5f6e8a14}.nav-link.active{color:#0f8f80;background:#0f8f801f}.dashboard-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-bottom:1rem}.kpi-card{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:.9rem;display:flex;flex-direction:column;gap:.25rem}.kpi-value{font-size:1.25rem;font-weight:700;color:var(--text-main)}.kpi-label{font-size:.8rem;color:var(--text-soft)}.kpi-link{font-size:.78rem;font-weight:600;color:#0f8f80;text-decoration:none;margin-top:.2rem}.kpi-link:hover{text-decoration:underline}.dashboard-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem}.dashboard-toolbar .select-field{flex:1;min-width:140px}.dashboard-toolbar .btn{width:auto}.dashboard-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.dashboard-actions .btn{width:auto}.data-table{overflow-x:auto;border:1px solid var(--border);border-radius:10px}.data-table table{width:100%;border-collapse:collapse;font-size:.88rem}.data-table th,.data-table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.data-table th{font-weight:600;color:var(--text-soft);background:var(--bg-soft)}.data-table .td-actions{white-space:nowrap;min-width:90px}.data-table tr:last-child td{border-bottom:none}.table-btn{width:auto!important;padding:.4rem .6rem!important;font-size:.8rem!important;margin-right:.35rem}.table-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border:none;border-radius:8px;cursor:pointer;transition:filter .2s,background .2s}.btn-icon:hover:not(:disabled){filter:brightness(1.05)}.btn-icon-ghost{background:#f6f7fb;color:#33435f;border:1px solid #d9deeb}.btn-icon-ghost:hover{background:#eef1f8}.btn-icon-danger{background:linear-gradient(140deg,#d64545,#b73a3a);color:#fff}.btn-icon-danger:hover{filter:brightness(1.1)}.document-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.document-actions .btn,.document-actions a.btn{width:auto}.pdf-preview-line-readonly{pointer-events:none}.app-logo{width:72px;height:72px;object-fit:contain;border-radius:14px}.actions-card,.timeline-card{background:var(--bg-1);border:1px solid var(--border);border-radius:16px;padding:1rem;box-shadow:var(--shadow-md);overflow:hidden}.page-header-with-back{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.back-btn{flex-shrink:0;padding:.35rem .5rem;font-size:.78rem;color:#5f6e8a;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:color .2s,background .2s}.back-btn:hover:not(:disabled){color:#33435f;background:#5f6e8a1a}.back-btn:disabled{opacity:.5;cursor:not-allowed}.page-header-with-back h2{margin:0}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-bottom:.7rem}.select-field{border:1px solid #cfd9ee;border-radius:10px;padding:.68rem .75rem;font-size:16px;background:#fff}.quick-actions-card{background:var(--bg-1);border:1px solid var(--border);border-radius:16px;padding:.9rem;box-shadow:var(--shadow-md);overflow:hidden}.quick-actions-card p{margin:0 0 .65rem;font-size:.84rem;font-weight:600;color:#5f6e8a}.quick-actions{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.15rem;-webkit-overflow-scrolling:touch;max-width:100%}.quick-chip{border:1px solid #cfe0fb;background:#f3f8ff;color:#1f4d82;border-radius:999px;padding:.45rem .72rem;white-space:normal;overflow-wrap:anywhere;font-size:.83rem;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;flex:0 0 auto}.quick-chip:disabled{opacity:.5}.controls,.composer{display:grid;grid-template-columns:1fr;gap:.65rem;width:100%}.composer-inline{display:grid;grid-template-columns:1fr;gap:.65rem}.composer-inline input{border:1px solid #cfd9ee;border-radius:10px;padding:.68rem .75rem;font-size:16px;width:100%}.form-grid{display:grid;gap:.55rem;margin-bottom:.75rem}.form-grid label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:600;color:var(--text-soft)}.form-grid input{border:1px solid #cfd9ee;border-radius:10px;padding:.68rem .75rem;font-size:16px}.payment-terms-section{grid-column:1 / -1;margin-top:1rem;padding:1rem;background:var(--bg-soft, #f8f9fc);border-radius:10px;border:1px solid var(--border, #e2e8f0)}.payment-terms-header{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.75rem}.payment-terms-title{font-size:.9rem;font-weight:600;color:var(--text-soft, #64748b)}.payment-terms-header .hint{font-size:.8rem;margin:0}.payment-terms-table-wrap{overflow-x:auto}.payment-terms-table{width:100%;border-collapse:collapse;font-size:.9rem}.payment-terms-table th{text-align:left;padding:.5rem .75rem;font-weight:600;color:var(--text-soft, #64748b);font-size:.8rem;border-bottom:1px solid var(--border, #e2e8f0)}.payment-terms-table th.th-actions{width:120px;text-align:right}.payment-terms-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border, #e2e8f0);vertical-align:middle}.payment-terms-table td.td-actions{text-align:right;white-space:nowrap}.payment-terms-table tbody tr:last-child td{border-bottom:none}.payment-term-input-inline{width:100%;max-width:280px;padding:.4rem .6rem;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.9rem}.payment-term-add-row td{padding-top:.75rem;background:transparent}.btn-sm{padding:.35rem .6rem;font-size:.85rem}.document-edit-form{margin:1rem 0}.edit-lines-header,.edit-line-row{display:grid;grid-template-columns:2fr .6fr .8fr .6fr 40px;gap:.5rem;align-items:center;margin-bottom:.5rem}.edit-lines-header{font-size:.8rem;font-weight:600;color:var(--text-soft)}.edit-line-row input{padding:.4rem .5rem;border:1px solid var(--border);border-radius:6px;font-size:.9rem}.edit-travel-fee,.edit-payment-term{margin-top:1rem;display:flex;align-items:center;gap:.5rem}.edit-travel-fee input,.edit-payment-term select{padding:.4rem .5rem;border:1px solid var(--border);border-radius:6px;font-size:.9rem;min-width:120px}.edit-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.logo-upload-section{margin-top:.5rem}.logo-preview-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.logo-preview{max-width:120px;max-height:80px;object-fit:contain;border:1px solid var(--border);border-radius:8px}.logo-placeholder{width:120px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--bg-soft);border:1px dashed var(--border);border-radius:8px;font-size:.8rem;color:var(--text-soft)}.doc-type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.doc-header-row{display:flex;align-items:center;gap:.6rem}.doc-header-row .doc-type-toggle{flex:1}.speaker-toggle{width:44px;height:44px;border-radius:10px;border:1px solid #d9deeb;background:#f6f7fb;font-size:1.05rem;cursor:pointer}.pdf-preview-card{border:1px solid #d4dded;border-radius:12px;background:#f9fbff;padding:.8rem}.pdf-preview-header{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.pdf-preview-header strong{font-size:.95rem}.pdf-preview-header span{color:#4d5f80;font-size:.86rem}.preview-add-line{width:auto;margin-top:.55rem}.pdf-preview-address{margin:.4rem 0 .7rem;font-size:.84rem;color:#5e6f8f}.pdf-preview-lines{display:grid;gap:.45rem}.pdf-preview-line{display:flex;flex-direction:column;gap:.4rem;font-size:.82rem;color:#33435f}.line-designation-row,.line-designation-row .line-edit-input{width:100%}.line-details-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.line-details-row .line-qty{width:4rem;min-width:4rem}.line-details-row .line-amount{width:5rem;min-width:5rem}.line-details-row .line-total{font-weight:700;min-width:4.5rem}.line-actions{display:flex;gap:.25rem}.confirm-line-btn,.correct-line-btn{padding:.35rem .5rem!important;min-height:32px!important;width:auto!important}.confirmed-badge{display:inline-block;margin-left:.45rem;padding:.12rem .42rem;border-radius:999px;font-size:.68rem;font-style:normal;font-weight:700;color:#116745;background:#d1fae5;border:1px solid #6ee7b7}.pdf-preview-line.needs-review{background:#f59f0b14;border:1px dashed rgba(245,159,11,.35);border-radius:8px;padding:.4rem .5rem}.review-badge{display:inline-block;margin-left:.45rem;padding:.12rem .42rem;border-radius:999px;font-size:.68rem;font-style:normal;font-weight:700;color:#8a4f00;background:#ffe8bf;border:1px solid #f8c979}.line-edit-input{border:1px solid #cfd9ee;border-radius:8px;padding:.45rem .5rem;font-size:.82rem;width:100%}.pdf-preview-totals{margin-top:.7rem;border-top:1px dashed #c6d4ec;padding-top:.55rem}.pdf-preview-totals p{margin:.2rem 0;font-size:.85rem;font-weight:600}.voice-live-feedback{display:grid;gap:.75rem;margin-bottom:.75rem}.audio-quality-indicator{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:#5f6e8a}.audio-label{flex-shrink:0}.audio-bar-container{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.audio-bar-fill{height:100%;border-radius:4px;transition:width .15s ease}.audio-value{flex-shrink:0;font-weight:600;min-width:2.5em}.karaoke-transcript{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.6rem .75rem;font-size:.88rem}.karaoke-label{display:block;font-weight:600;color:#475569;margin-bottom:.4rem;font-size:.78rem}.karaoke-words{display:flex;flex-wrap:wrap;gap:.15rem .35rem;line-height:1.5}.karaoke-segment{transition:color .2s ease}.session-confidence{margin:.4rem 0 0;font-size:.8rem;color:#64748b}.repeat-btn{margin-top:.5rem;width:auto!important;font-size:.82rem}.hint{margin:.8rem 0 0;font-size:.88rem;color:#5f6e8a}.notice{margin:.8rem 0 0;border-radius:10px;border:1px solid transparent;padding:.62rem .72rem;font-size:.88rem;font-weight:600}.notice.info{background:#eef6ff;border-color:#c9def7;color:#1f4d82}.notice.success{background:#e7f9f2;border-color:#b9e8d5;color:#116745}.notice.error{background:#ffecec;border-color:#f6c5c5;color:#9d1a1a}.btn{border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:transform .08s ease,filter .2s ease,opacity .2s ease;padding:.68rem 1rem;width:100%;min-height:44px;white-space:normal;overflow-wrap:anywhere;line-height:1.25;max-width:100%}.btn:hover:not(:disabled){filter:brightness(1.02)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{background:linear-gradient(140deg,#0f8f80,#0f7ba5);color:#fff}.btn.record{background:linear-gradient(140deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 14px #22c55e66}.btn.record:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 6px 18px #22c55e80}.btn.secondary{background:#eef6ff;color:#1f4d82;border:1px solid #cae0fb}.btn.ghost{background:#f6f7fb;color:#33435f;border:1px solid #d9deeb}.btn.danger{background:linear-gradient(140deg,#d64545,#b73a3a);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.timeline-header{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:.75rem}.timeline-header h2{margin:0;font-size:1rem}.timeline-header span{color:#617496;font-size:.85rem}.timeline{min-height:260px;max-height:48vh;overflow:auto;display:grid;gap:.7rem;padding-right:.2rem;scroll-behavior:smooth;max-width:100%}.empty-state{padding:1rem;border-radius:12px;border:1px dashed #c8d5ef;color:#60749a;background:#f7faff}.msg{border-radius:12px;padding:.82rem .92rem;border:1px solid transparent}.msg.user{background:#dcf8ed;border-color:#b7e9d7}.msg.assistant{background:#eaf4ff;border-color:#c9def7}.msg strong{display:block;font-size:.92rem;color:#20375c}.msg p{margin:.28rem 0 0;line-height:1.45}.composer{position:sticky;bottom:.75rem;background:color-mix(in srgb,var(--bg-1) 92%,transparent);border:1px solid var(--border);border-radius:14px;padding:.65rem;box-shadow:0 10px 24px #13274714;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:100%}.composer input{flex:1 1 280px;border:1px solid #cfd9ee;border-radius:10px;padding:.7rem .78rem;font-size:16px;outline:none;width:100%;min-width:0;max-width:100%}.composer input:focus{border-color:#72a2e9;box-shadow:0 0 0 3px #72a2e926}@media(max-width:860px){.topbar{min-height:82px}.composer input{flex-basis:100%}.page{padding:.75rem .75rem calc(.75rem + env(safe-area-inset-bottom))}.topbar,.actions-card,.timeline-card,.quick-actions-card{border-radius:14px;padding:.85rem}.timeline{max-height:36vh}.composer{position:static;-webkit-backdrop-filter:none;backdrop-filter:none}.quick-chip{max-width:100%}.pdf-preview-line{grid-template-columns:1fr;gap:.2rem}}@media(max-width:640px){.edit-lines-header,.edit-line-row{grid-template-columns:1fr .5fr .6fr .5fr 36px;font-size:.85rem}.edit-line-row input{min-width:0}.data-table{font-size:.82rem}.data-table th,.data-table td{padding:.5rem}.data-table .td-actions{min-width:80px}.btn-icon{width:32px;height:32px;min-width:32px;min-height:32px}.btn-icon svg{width:14px;height:14px}.app-nav{gap:.25rem}.nav-link{padding:.3rem .45rem;font-size:.75rem}}@media(max-width:420px){.page{padding-left:.6rem;padding-right:.6rem}}@media(prefers-color-scheme:dark){:root{--bg-0: #0d1320;--bg-1: #131d30;--bg-soft: #19263b;--text-main: #e8f0ff;--text-soft: #b9c9e5;--border: #273958;--shadow-lg: 0 14px 36px rgba(0, 0, 0, .35);--shadow-md: 0 10px 24px rgba(0, 0, 0, .28)}body{background:radial-gradient(circle at 10% 0%,#17344b 0%,transparent 35%),radial-gradient(circle at 90% 0%,#1f2949 0%,transparent 35%),var(--bg-0);color:var(--text-main)}.topbar,.actions-card,.timeline-card,.quick-actions-card,.composer{background:color-mix(in srgb,var(--bg-1) 96%,transparent);border-color:var(--border)}.app-logo{box-shadow:0 8px 22px #00000040}.speaker-toggle{background:#1a2f4f;border-color:#2f5388;color:#d6e6ff}.select-field{background:#111a2b;border-color:#2a4267;color:#eaf2ff}.select-field option{background:#111a2b;color:#eaf2ff}.timeline-header span,.hint,.quick-actions-card p{color:#a8bbde}.notice.info{background:#153151;border-color:#2f5c91;color:#d5e8ff}.notice.success{background:#153a30;border-color:#286651;color:#c6f0df}.notice.error{background:#4c2024;border-color:#7f2f39;color:#ffd6db}.empty-state{background:#16253d;border-color:#29456f;color:#b7caeb}.msg.user{background:#143c36;border-color:#1d6f64}.msg.assistant{background:#1a2f4f;border-color:#2f5388}.msg strong{color:#e6eeff}.quick-chip{background:#173050;border-color:#2f5c91;color:#d9e8ff}.pdf-preview-card{background:#15263f;border-color:#2b456f}.pdf-preview-header span,.pdf-preview-address,.pdf-preview-line{color:#bdd0ef}.pdf-preview-line.needs-review{background:#ffbb331f;border-color:#fb36}.review-badge{color:#322000;background:#f8ce79;border-color:#f3ba4c}.pdf-preview-totals{border-top-color:#325078}.composer input,.line-edit-input{background:#111a2b;color:#eaf2ff;border-color:#2a4267}.nav-link{color:#a8bbde}.nav-link:hover{color:#e8f0ff;background:#a8bbde1f}.nav-link.active{color:#5eead4;background:#5eead426}.kpi-card{background:var(--bg-soft);border-color:var(--border)}.kpi-link{color:#5eead4}.data-table th{background:var(--bg-soft);color:var(--text-soft)}.btn-icon-ghost{background:#1a2f4f;color:#d6e6ff;border-color:#2f5388}.btn-icon-ghost:hover{background:#243a5c}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
