*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{font-family:var(--cc-font);background:var(--cc-bg);color:var(--cc-text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}.app{display:flex;flex-direction:column;min-height:100dvh;max-width:720px;margin:0 auto}.header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(14px,env(safe-area-inset-top)) 16px 14px;background:var(--cc-primary-dark);color:#fff}.header h1{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.01em}.header-actions{display:flex;gap:8px}.icon-button{background:rgba(255,255,255,.16);border:0;color:#fff;border-radius:999px;padding:7px 13px;font-size:.82rem;cursor:pointer}.icon-button:active{background:rgba(255,255,255,.28)}.tabs{display:flex;background:var(--cc-surface);border-bottom:1px solid rgba(0,0,0,.08);position:-webkit-sticky;position:sticky;top:52px;z-index:9}.tab{flex:1 1;padding:13px 8px;border:0;background:transparent;font-size:.9rem;font-weight:500;color:var(--cc-secondary);cursor:pointer;border-bottom:2.5px solid transparent}.tab[aria-selected=true]{color:var(--cc-primary-dark);border-bottom-color:var(--cc-primary)}.badge{display:inline-block;min-width:18px;margin-left:6px;padding:1px 6px;border-radius:999px;background:var(--cc-primary);color:#fff;font-size:.7rem;font-weight:600}.list{flex:1 1;padding:12px 12px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}.card{background:var(--cc-surface);border-radius:var(--cc-radius);padding:14px;box-shadow:0 1px 2px rgba(16,24,32,.06),0 1px 8px rgba(16,24,32,.04)}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.contact{font-weight:600;font-size:1rem;letter-spacing:-.01em}.meta{font-size:.78rem;color:var(--cc-secondary);opacity:.85;white-space:nowrap}audio{width:100%;height:38px;margin-bottom:10px}.transcript{margin:0 0 10px;padding:11px 13px;background:var(--cc-bg);border-radius:9px;font-size:.9rem;line-height:1.55;border-left:3px solid var(--cc-primary)}.transcript.muted{color:var(--cc-secondary);font-style:italic;border-left-color:rgba(0,0,0,.12)}.row{display:flex;gap:8px;flex-wrap:wrap}.button{border:0;border-radius:9px;padding:9px 15px;font-size:.86rem;font-weight:500;cursor:pointer;background:var(--cc-primary);color:#fff}.button:disabled{opacity:.55;cursor:default}.button.ghost{background:transparent;color:var(--cc-primary-dark);border:1px solid rgba(0,0,0,.14)}.thread-messages{display:flex;flex-direction:column;gap:7px;margin-bottom:11px;max-height:320px;overflow-y:auto}.bubble{max-width:82%;padding:8px 12px;border-radius:15px;font-size:.9rem;line-height:1.45;word-break:break-word}.bubble.inbound{align-self:flex-start;background:var(--cc-bg);border-bottom-left-radius:5px}.bubble.outbound{align-self:flex-end;background:var(--cc-primary);color:#fff;border-bottom-right-radius:5px}.composer{display:flex;gap:8px}.composer textarea{flex:1 1;resize:none;border:1px solid rgba(0,0,0,.14);border-radius:9px;padding:9px 11px;font-size:.9rem;min-height:40px;background:var(--cc-surface)}.empty,.notice{text-align:center;padding:44px 20px;color:var(--cc-secondary);font-size:.92rem}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--cc-secondary);color:#fff;padding:11px 18px;border-radius:999px;font-size:.85rem;box-shadow:0 4px 16px rgba(0,0,0,.2);z-index:50;max-width:90vw;text-align:center}.login{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.login form{width:100%;max-width:340px;background:var(--cc-surface);border-radius:var(--cc-radius);padding:28px 24px;box-shadow:0 2px 20px rgba(16,24,32,.09)}.login h1{margin:0 0 20px;font-size:1.25rem;text-align:center;color:var(--cc-primary-dark)}.login input{width:100%;padding:11px 13px;border:1px solid rgba(0,0,0,.16);border-radius:9px;margin-bottom:12px;background:var(--cc-bg)}.login .button{width:100%;padding:11px}.error{color:#b3261e;font-size:.83rem;margin:0 0 12px;text-align:center}.settings{padding:12px 14px;margin:0 12px 4px;background:var(--cc-surface);border-radius:var(--cc-radius);font-size:.85rem}.settings label{display:block;font-weight:500;margin-bottom:5px}.settings input{width:100%;padding:8px 11px;border:1px solid rgba(0,0,0,.14);border-radius:8px;background:var(--cc-bg);margin-bottom:6px}.settings .hint{color:var(--cc-secondary);font-size:.76rem;line-height:1.4;margin:0}