*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #fdf9f3;--surface: #ffffff;--border: #ede8e0;--text: #3a3530;--dim: #9a9590;--teal: #2d7a7a;--teal-l: #7ab8b8;--coral: #e8927c;--cream: #f0ebe2;--mono: "DM Sans", sans-serif;--body: "Inter", sans-serif;--radius: 12px;--shadow: 0 2px 12px #3a353012}body{background:var(--bg);color:var(--text);font-family:var(--body);overflow-x:hidden}.root{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:16px;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow);flex-wrap:wrap}.topbar-left{display:flex;align-items:center;gap:10px;flex:1}.tooth-icon{font-size:28px}.logo{font-family:var(--mono);font-size:17px;font-weight:700;color:var(--teal);letter-spacing:-.3px}.logo-sub{font-size:10px;color:var(--dim);letter-spacing:1px}.topbar-center{flex:1;text-align:center}.date-display{font-size:12px;color:var(--dim)}.topbar-right{display:flex;align-items:center;gap:16px}.agent-pill{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--cream);border-radius:20px;border:1px solid var(--border)}.agent-dot{width:8px;height:8px;border-radius:50%;background:#ccc}.agent-pill-name{font-size:10px;color:var(--dim)}.agent-pill-state{font-size:10px;color:var(--teal);font-weight:600}.side-counters{display:flex;gap:14px}.side-counter{text-align:center}.sc-val{font-family:var(--mono);font-size:20px;font-weight:700;line-height:1}.sc-label{font-size:9px;color:var(--dim);letter-spacing:1px;margin-top:2px}.reasoning-bar{background:var(--teal);padding:6px 20px;overflow:hidden}.reasoning-text{font-size:11px;color:#d4f0f0}.dashboard{display:grid;grid-template-columns:220px 1fr 1fr 1fr;grid-template-rows:auto auto;gap:10px;padding:10px;flex:1;overflow:hidden}.panel{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:12px 14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;overflow:hidden}.panel-title{font-size:9px;color:var(--dim);letter-spacing:3px;font-weight:600}.panel-schedule{grid-column:1;grid-row:1 / 3;overflow-y:auto}.panel-chairs{grid-column:2;grid-row:1}.panel-revenue{grid-column:3;grid-row:1}.panel-donut{grid-column:4;grid-row:1}.panel-recalls{grid-column:2;grid-row:2}.panel-messages{grid-column:3 / 5;grid-row:2}.schedule-list{display:flex;flex-direction:column;gap:3px}.appt-slot{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;background:var(--cream);border:1px solid transparent;transition:all .3s;position:relative}.appt-done{background:#e8f5f5;border-color:#b8e0e0}.appt-review{background:#fff4e0;border-color:#ffd080}.appt-active{background:#d4f0f0;border-color:var(--teal);box-shadow:0 0 12px #2d7a7a22}.appt-time{font-size:9px;color:var(--dim);min-width:34px;font-family:var(--mono)}.appt-icon{font-size:12px}.appt-info{flex:1}.appt-name{font-size:10px;font-weight:600;color:var(--text)}.appt-meta{font-size:9px;color:var(--dim)}.appt-channel-dot{width:8px;height:8px;border-radius:50%}.appt-flag{font-size:10px}.ghost-date{font-size:8px;color:var(--teal);position:absolute;right:6px;bottom:2px}.chairs-list{display:flex;flex-direction:column;gap:8px}.chair-row{display:flex;align-items:center;gap:8px}.chair-icon{font-size:14px}.chair-info{flex:1}.chair-name{font-size:10px;color:var(--dim);margin-bottom:3px}.chair-track{height:6px;background:var(--cream);border-radius:3px;overflow:hidden}.chair-fill{height:100%;border-radius:3px;transition:width .8s}.chair-pct{font-size:11px;font-weight:600;min-width:30px;text-align:right}.noshow-wrap{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:-4px}.noshow-val{font-family:var(--mono);font-size:20px;font-weight:700;color:var(--coral);margin-top:-8px}.noshow-trend{font-size:9px;color:#888}.donut-legend{display:flex;flex-direction:column;gap:3px}.legend-row{display:flex;align-items:center;gap:5px;font-size:10px}.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.legend-name{flex:1;color:var(--dim)}.legend-val{font-weight:600;color:var(--text)}.recalls-list{display:flex;flex-direction:column;gap:5px;overflow-y:auto;flex:1}.recall-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--cream);border-radius:8px}.recall-name{flex:1;font-size:11px;font-weight:500}.recall-treatment{font-size:9px;color:var(--dim);min-width:60px}.recall-badge{font-size:8px;padding:2px 8px;border-radius:10px;font-weight:600}.badge-critical{background:#fde8e8;color:#c0392b}.badge-high{background:#fdf0e0;color:#d35400}.badge-medium{background:#fdf8e0;color:#c7a000}.badge-low{background:#e8f8f0;color:#27ae60}.recalls-clear{text-align:center;color:var(--teal);font-size:13px;padding:20px;font-weight:600}.msg-tabs{display:flex;gap:6px}.msg-tab{padding:4px 14px;background:var(--cream);border:1px solid var(--border);border-radius:16px;cursor:pointer;font-size:11px;font-weight:500;transition:all .2s}.msg-tab.active{background:#fff}.msg-stream{flex:1;overflow-y:auto;font-size:12px;color:var(--text);line-height:1.8;background:var(--cream);border-radius:8px;padding:10px 12px;white-space:pre-wrap;min-height:80px}.msg-subject{font-weight:600;color:var(--teal);margin-bottom:6px;font-size:12px}.msg-body{font-size:12px;color:#555}.msg-placeholder{color:var(--dim);font-style:italic;font-size:12px}.cursor{color:var(--teal);animation:blink .8s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.review-tray{background:#fff8ec;border:1px solid #ffd080;border-radius:8px;padding:8px 10px}.review-tray-title{font-size:9px;color:#c7a000;letter-spacing:2px;margin-bottom:5px;font-weight:600}.review-item{display:flex;gap:8px;align-items:center;font-size:11px;margin-bottom:2px}.review-name{font-weight:600;color:var(--text)}.review-treatment{color:var(--dim);font-size:10px}.ticker{background:var(--teal);padding:5px 20px;display:flex;align-items:center;gap:10px}.ticker-label{font-size:8px;color:#fff;background:var(--coral);padding:1px 6px;border-radius:3px;letter-spacing:1px;font-weight:700}.ticker-text{font-size:11px;color:#d4f0f0}.action-bar{padding:14px 20px;background:var(--surface);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:center;min-height:68px;box-shadow:0 -2px 12px #3a353008}.btn-run{padding:13px 40px;background:var(--teal);border:none;color:#fff;cursor:pointer;font-family:var(--mono);font-size:15px;font-weight:700;letter-spacing:1px;border-radius:30px;transition:opacity .2s}.btn-run:hover{opacity:.88}.running-label{font-size:12px;letter-spacing:1px}.end-banner{display:flex;flex-direction:column;align-items:center;gap:10px}.end-stats{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.end-val{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--teal)}.end-sep{color:var(--border)}.end-ctas{display:flex;gap:8px}.btn-ghost{padding:8px 18px;background:var(--cream);border:1px solid var(--border);color:var(--text);cursor:pointer;font-size:11px;font-weight:500;border-radius:20px;transition:all .2s;text-decoration:none}.btn-ghost:hover{border-color:var(--teal);color:var(--teal)}.btn-report{border-color:#4a90d9;color:#4a90d9}.btn-contact{border-color:var(--coral);color:var(--coral)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3a353088;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:500}.contact-modal{background:var(--surface);border-radius:20px;padding:32px 28px;width:360px;box-shadow:0 20px 60px #3a353022;position:relative;display:flex;flex-direction:column;gap:10px}.modal-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--dim);cursor:pointer;font-size:18px}.modal-tooth{font-size:32px;text-align:center}.modal-title{font-family:var(--mono);font-size:18px;font-weight:700;color:var(--teal);text-align:center}.modal-sub{font-size:12px;color:var(--dim);text-align:center;line-height:1.7}.modal-input{padding:10px 12px;background:var(--cream);border:1px solid var(--border);border-radius:8px;font-size:13px;color:var(--text);outline:none}.modal-input:focus{border-color:var(--teal)}.modal-submit{padding:12px;background:var(--teal);border:none;color:#fff;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s}.modal-submit:hover{opacity:.88}.modal-pitch{font-size:10px;color:var(--dim);text-align:center}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--cream);border-radius:2px}::-webkit-scrollbar-thumb{background:var(--teal-l);border-radius:2px}
