:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}.app-shell{background:linear-gradient(#ffffffdb,#f4f7fbf5),#f4f7fb;min-height:100vh;padding:32px}.workspace{width:min(1120px,100%);margin:0 auto}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;padding:8px 0 28px;display:flex}.brand-lockup{align-items:center;gap:14px;min-width:0;display:flex}.app-icon{border-radius:12px;flex:none;width:48px;height:48px;box-shadow:0 10px 24px #0b1f3a29}.eyebrow{color:#52606d;letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1{color:#111827;margin-bottom:0;font-size:2.4rem;line-height:1.08}.status-pill{color:#344256;background:#fff;border:1px solid #cfdae8;border-radius:999px;flex:none;padding:8px 12px;font-size:.88rem;font-weight:700}.upload-panel,.progress-panel,.result-card,.error-panel{background:#fff;border:1px solid #d7e0eb;border-radius:8px;box-shadow:0 16px 40px #16203314}.upload-panel{grid-template-columns:minmax(260px,.55fr) minmax(420px,1.45fr);align-items:center;gap:24px;padding:28px;display:grid}.upload-copy h2{color:#172033;margin-bottom:10px;font-size:1.28rem}.upload-copy p{color:#52606d;margin-bottom:0;line-height:1.55}.drop-zone{color:#334155;text-align:center;cursor:pointer;background:#f8fafc;border:1px dashed #8aa1bb;border-radius:8px;place-items:center;min-height:150px;padding:20px 24px;transition:border-color .16s,background .16s;display:grid}.drop-zone:hover{background:#f3f8ff;border-color:#2063b8}.drop-zone input{opacity:0;pointer-events:none;block-size:1px;inline-size:1px;position:absolute}.upload-icon{color:#fff;background:#2063b8;border-radius:50%;place-items:center;width:44px;height:44px;margin-bottom:12px;font-size:1.35rem;font-weight:800;display:grid}.file-label{overflow-wrap:anywhere;color:#172033;max-width:100%;font-weight:800}.file-hint{color:#66758a;margin-top:6px;font-size:.92rem}.inline-audio-preview{border-top:1px solid #dce5ef;width:100%;margin-top:16px;padding-top:14px;display:grid}.inline-audio-preview audio{width:100%}.actions-row{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:12px;display:flex}.selected-action-file{overflow-wrap:anywhere;color:#334155;min-width:0;max-width:420px;margin-right:auto;font-size:.92rem;font-weight:800}.primary-button,.secondary-button{cursor:pointer;border:1px solid #0000;border-radius:6px;min-height:44px;padding:0 18px;font-weight:800}.primary-button{color:#fff;background:#2063b8}.primary-button:disabled{cursor:not-allowed;background:#9aa9bc}.secondary-button{color:#26364d;background:#fff;border-color:#cbd6e3}.secondary-button:disabled{color:#9aa9bc;cursor:not-allowed}.progress-panel,.error-panel,.result-card{margin-top:20px;padding:24px}.progress-header{justify-content:space-between;gap:16px;margin-bottom:16px;display:flex}.progress-header h2{margin:0;font-size:1rem}.progress-header span{color:#66758a;font-size:.92rem}.progress-track{background:#e8eef6;border-radius:999px;width:100%;height:10px;overflow:hidden}.progress-fill{border-radius:inherit;background:#1f8a70;height:100%;transition:width .26s}.progress-uploading{width:28%}.progress-transcribing{width:62%}.progress-analyzing{width:86%}.activity-status{background:#f8fbff;border:1px solid #dce5ef;border-radius:8px;justify-content:space-between;gap:18px;margin-top:18px;padding:16px;display:flex}.activity-status span{color:#66758a;flex:none;font-size:.92rem}.activity-title{color:#172033;margin-bottom:4px;font-weight:800}.activity-detail{color:#52606d;margin-bottom:0;line-height:1.45}.activity-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.activity-list li{color:#66758a;background:#fff;border:1px solid #dce5ef;border-radius:6px;align-items:center;gap:8px;min-height:36px;padding:8px 10px;font-size:.9rem;font-weight:700;display:flex}.activity-list li.active{color:#12335c;background:#f3f8ff;border-color:#9dbce0}.activity-list li.complete{color:#1f6f5d;background:#f4fbf8;border-color:#b7ddcf}.activity-dot{background:#a7b4c5;border-radius:999px;flex:none;width:9px;height:9px}.activity-list li.active .activity-dot{background:#2063b8;box-shadow:0 0 0 4px #2063b81f}.activity-list li.complete .activity-dot{background:#1f8a70}.error-panel{background:#fff8f8;border-color:#f0b8b8}.error-panel h2{color:#9f1f1f;margin-bottom:8px;font-size:1.05rem}.error-panel p{color:#5c2b2b;white-space:pre-wrap;margin-bottom:0}.score-band{border-bottom:1px solid #e3e9f1;grid-template-columns:180px 1fr;align-items:center;gap:20px;padding-bottom:18px;display:grid}.tabs{border-bottom:1px solid #e3e9f1;gap:6px;margin-bottom:22px;display:flex}.tabs button{color:#52606d;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;min-height:42px;padding:0 14px;font-weight:800}.tabs button.active{color:#2063b8;border-bottom-color:#2063b8}.score-value{color:#1f8a70;font-size:3.25rem;font-weight:900;line-height:1}.score-details h2{color:#172033;margin-bottom:8px;font-size:1.3rem}.score-details p{color:#52606d;margin-bottom:10px;line-height:1.55}.score-details span{color:#334155;font-weight:800}.recovery-panel{border-bottom:1px solid #e3e9f1;gap:12px;padding:14px 0 4px;display:grid}.recovery-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.recovery-summary h3{color:#172033;margin-bottom:0;font-size:1rem}.decision-chip{text-transform:uppercase;border-radius:999px;flex:none;padding:5px 10px;font-size:.72rem;font-weight:900}.decision-chip.positive{color:#16624f;background:#e9f8f2;border:1px solid #b7ddcf}.decision-chip.neutral{color:#52606d;background:#f3f6fa;border:1px solid #dce5ef}.recovery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.recovery-grid>div,.booking-details>div{background:#f8fafc;border:1px solid #dce5ef;border-radius:6px;padding:10px 12px}.recovery-grid p:not(.eyebrow){color:#334155;margin-bottom:0;font-size:.92rem;line-height:1.35}.booking-details{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0;display:grid}.booking-details dt{color:#66758a;text-transform:uppercase;margin-bottom:4px;font-size:.68rem;font-weight:800}.booking-details dd{color:#172033;overflow-wrap:anywhere;margin:0;font-size:.86rem;font-weight:800}.insight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:18px;display:grid}.insight-section{min-width:0}.insight-section h3{color:#26364d;margin-bottom:10px;font-size:1rem}.insight-section ul{color:#3d4d63;gap:8px;margin:0;padding-left:20px;line-height:1.38;display:grid}.insight-section li::marker{color:#2063b8}.whatsapp-tab{grid-template-columns:minmax(320px,.9fr) minmax(240px,.55fr);align-items:start;gap:20px;display:grid}.whatsapp-phone{background:#efeae2;border:1px solid #c9d8d0;border-radius:8px;overflow:hidden;box-shadow:0 14px 32px #16203314}.whatsapp-header{color:#fff;background:#075e54;align-items:center;gap:12px;padding:14px 16px;display:flex}.whatsapp-avatar{color:#075e54;background:#dcf8c6;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.whatsapp-header h2{margin-bottom:2px;font-size:1rem}.whatsapp-header p{color:#d9f7ef;margin-bottom:0;font-size:.82rem}.whatsapp-chat{background:linear-gradient(135deg,#ffffff47 25%,#0000 25%) 0 0/28px 28px,#efeae2;min-height:360px;padding:18px}.whatsapp-date{color:#5f6b77;background:#ffffffb8;border-radius:999px;width:fit-content;margin:0 auto 18px;padding:5px 12px;font-size:.78rem;font-weight:800}.whatsapp-bubble{color:#102746;background:#dcf8c6;border-radius:8px 0 8px 8px;width:min(620px,86%);margin-left:auto;padding:14px 16px 28px;position:relative;box-shadow:0 2px 4px #1620331f}.whatsapp-bubble:after{content:"";border-top:10px solid #dcf8c6;border-right:10px solid #0000;position:absolute;top:0;right:-10px}.whatsapp-bubble p{margin-bottom:8px;line-height:1.5}.whatsapp-bubble p:last-of-type{margin-bottom:0}.whatsapp-time{color:#66758a;font-size:.72rem;font-weight:700;position:absolute;bottom:8px;right:12px}.whatsapp-notes{background:#f8fafc;border:1px solid #dce5ef;border-radius:8px;padding:18px}.whatsapp-notes h2{color:#172033;margin-bottom:10px;font-size:1.08rem}.whatsapp-notes p:not(.eyebrow){color:#52606d;margin-bottom:0;line-height:1.55}.template-meta{gap:8px;margin-bottom:14px;display:grid}.template-meta span{color:#16624f;background:#f0fff5;border:1px solid #d5e8d8;border-radius:6px;padding:8px 10px;font-size:.86rem;font-weight:800}.call-tab{gap:18px;display:grid}.playback-panel,.transcript-panel{background:#f8fafc;border:1px solid #dce5ef;border-radius:8px;padding:18px}.playback-panel{grid-template-columns:minmax(220px,.6fr) minmax(280px,1fr);align-items:center;gap:18px;display:grid}.playback-panel h2,.transcript-panel h2{color:#172033;overflow-wrap:anywhere;margin-bottom:0;font-size:1.05rem}.playback-panel audio{width:100%}.transcript-header{justify-content:space-between;gap:16px;margin-bottom:14px;display:flex}.transcript-header span{color:#66758a;flex:none;font-size:.9rem;font-weight:700}.transcript-box{color:#26364d;background:#fff;border:1px solid #dce5ef;border-radius:8px;gap:12px;max-height:360px;padding:16px;line-height:1.55;display:grid;overflow:auto}.transcript-turn{border-bottom:1px solid #eef2f7;grid-template-columns:96px 1fr;align-items:start;gap:12px;padding-bottom:12px;display:grid}.transcript-turn:last-child{border-bottom:0;padding-bottom:0}.transcript-turn p{margin:0}.speaker-label{text-align:center;border-radius:999px;width:92px;padding:4px 9px;font-size:.78rem;font-weight:900}.speaker-agent{color:#164b88;background:#eaf3ff}.speaker-customer{color:#16624f;background:#e9f8f2}.empty-state{color:#66758a;margin:0}@media (width<=760px){.app-shell{padding:20px}.topbar,.progress-header,.activity-status{flex-direction:column}h1{font-size:2rem}.upload-panel,.activity-list,.recovery-grid,.booking-details,.playback-panel,.whatsapp-tab,.score-band,.insight-grid{grid-template-columns:1fr}.tabs{overflow-x:auto}.tabs button{flex:none}.actions-row{flex-direction:column;grid-column:auto;align-items:stretch}.selected-action-file{max-width:100%;margin-right:0}.score-value{font-size:3.1rem}.transcript-turn{grid-template-columns:1fr}}
