@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&family=JetBrains+Mono:wght@400;700&display=swap";*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0}body{color:#f5f3ed;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a1414;overflow:hidden}:root{--bg:#0a1414;--panel:#0f1e1e;--header:#0a1414;--teal:#22d3ee;--teal-dim:#0891b2;--bone:#f5f3ed;--grey:#7d9090;--grey-dim:#5a6e6e;--border:#22d3ee22;--border-strong:#22d3ee33;--red:#ef4444;--amber:#f59e0b;--green:#34d399;--radius:16px;--glow:0 0 12px #22d3ee0f;--sans:"Inter", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace}.app{font-family:var(--sans);color:var(--bone);background:var(--bg);width:100vw;height:100vh;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#22d3ee33;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#22d3ee55}.topbar{border-bottom:1px solid var(--border-strong);z-index:100;background:#0a1414fa;justify-content:space-between;align-items:center;height:48px;padding:0 20px;display:flex;position:fixed;top:0;left:0;right:0}.topbar-left{align-items:center;gap:12px;display:flex}.brand{font-family:var(--sans);color:var(--teal);text-shadow:0 0 8px #22d3ee80;align-items:center;gap:7px;font-size:15px;font-weight:700;display:flex}.brand-star{filter:drop-shadow(0 0 4px #22d3ee99);font-size:14px}.brand-sep{background:var(--border-strong);width:1px;height:18px}.brand-sub{font-family:var(--sans);color:var(--grey);letter-spacing:3px;font-size:10px;font-weight:300}.topbar-centre{font-family:var(--sans);color:var(--grey);letter-spacing:1px;font-size:10px;font-weight:300}.topbar-right{align-items:center;gap:10px;display:flex}.clock{font-family:var(--mono);color:var(--bone);font-size:12px}.live{font-family:var(--sans);color:var(--green);letter-spacing:1px;align-items:center;gap:5px;font-size:9px;font-weight:600;display:flex}.live-dot{background:var(--green);width:7px;height:7px;box-shadow:0 0 6px var(--green);border-radius:50%;animation:1.6s ease-in-out infinite pulse}.agent-strip{border-bottom:1px solid var(--border);z-index:90;background:#0a1414f2;align-items:center;gap:8px;height:80px;padding:0 12px;display:flex;position:fixed;top:48px;left:0;right:0}.agent-card{background:var(--panel);border:1px solid var(--border);height:64px;box-shadow:var(--glow);border-radius:12px;flex-direction:column;flex:20%;gap:2px;padding:8px 10px;display:flex;overflow:hidden}.agent-card-top{justify-content:space-between;align-items:center;display:flex}.agent-name{color:var(--teal);letter-spacing:.5px;align-items:center;gap:6px;font-size:10px;font-weight:600;display:flex}.status-dot{background:var(--grey-dim);border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-dot.active{background:var(--teal);box-shadow:0 0 6px var(--teal);animation:1.2s ease-in-out infinite pulse}.agent-throughput{font-family:var(--mono);color:var(--bone);font-size:11px;font-weight:700}.agent-task{color:var(--grey);white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-weight:300;overflow:hidden}.agent-feed{margin-top:auto}.agent-feed-line{font-family:var(--mono);color:var(--grey-dim);white-space:nowrap;text-overflow:ellipsis;font-size:8px;line-height:1.3;overflow:hidden}.grid{grid-template-rows:1fr 1fr 1fr 1fr;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;padding:8px;display:grid;position:fixed;inset:128px 0 44px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--glow);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.panel-header{background:var(--header);border-bottom:1px solid var(--border);border-radius:16px 16px 0 0;flex-shrink:0;justify-content:space-between;align-items:center;height:28px;padding:0 12px;display:flex}.panel-title{color:var(--teal);text-transform:uppercase;letter-spacing:1px;font-size:9px;font-weight:600}.panel-meta{font-family:var(--mono);color:var(--grey-dim);font-size:8px}.panel-body{flex:1;min-height:0;padding:8px;overflow-y:auto}.p1{grid-area:1/1/4}.p2{grid-area:1/2}.p3{grid-area:1/3}.p4{grid-area:1/4}.p5{grid-area:2/2/4}.p6{grid-area:2/3}.p7{grid-area:2/4}.p8{grid-area:3/3/auto/5}.p9{grid-area:4/1/auto/3}.p10{grid-area:4/3/auto/5}.empty-note{color:var(--grey-dim);text-align:center;padding:16px 4px;font-size:9px;font-style:italic}.slot{align-items:center;gap:8px;margin-bottom:6px;display:flex}.slot-time{font-family:var(--mono);color:var(--teal);flex-shrink:0;width:38px;font-size:10px;font-weight:700}.slot-empty{color:var(--grey-dim);border:1px dashed #ffffff14;border-radius:8px;flex:1;padding:6px 10px;font-size:8px}.slot-card{border-left:3px solid var(--teal);color:#0a1414;background:#f5f3edf5;border-radius:8px;flex:1;padding:8px 10px}.slot-card .sc-name{color:#0a1414;font-size:10px;font-weight:600}.slot-card .sc-treat{color:#4a5a5a;font-size:9px}.slot-card .sc-row{justify-content:space-between;align-items:center;margin-top:3px;display:flex}.slot-card .sc-dentist{color:#6a7a7a;font-size:8px}.chair-pill{font-family:var(--mono);color:var(--teal-dim);background:#0891b21f;border:1px solid #0891b24d;border-radius:999px;padding:1px 7px;font-size:8px;font-weight:700}.triage-card{border-left:3px solid var(--teal);background:#0a1414;border-radius:8px;margin-bottom:6px;padding:7px 9px}.triage-card.emergency{border-left-color:var(--red)}.triage-card.urgent{border-left-color:var(--amber)}.triage-card.routine{border-left-color:var(--teal)}.triage-top{justify-content:space-between;align-items:center;display:flex}.triage-name{color:var(--bone);font-size:10px;font-weight:600}.triage-treat{color:var(--grey);margin-top:2px;font-size:9px}.triage-time{font-family:var(--mono);color:var(--grey);font-size:9px}.badge{font-family:var(--sans);letter-spacing:.5px;text-transform:uppercase;border-radius:999px;padding:2px 6px;font-size:7px;font-weight:700}.badge.emergency{color:var(--red);background:#ef444426;border:1px solid #ef444466}.badge.urgent{color:var(--amber);background:#f59e0b26;border:1px solid #f59e0b66}.badge.routine{color:var(--teal);background:#22d3ee1f;border:1px solid #22d3ee66}.recall-row{border-bottom:1px solid #ffffff0a;align-items:center;gap:8px;padding:6px 4px;display:flex}.recall-main{flex:1;min-width:0}.recall-name{color:var(--bone);font-size:10px;font-weight:600}.recall-last{color:var(--grey);font-size:8px}.overdue-badge{font-family:var(--mono);border-radius:6px;padding:2px 6px;font-size:9px;font-weight:700}.overdue-badge.red{color:var(--red);background:#ef444426}.overdue-badge.amber{color:var(--amber);background:#f59e0b26}.contact-icon{font-size:12px}.chair-grid{grid-template-columns:1fr 1fr;gap:8px;height:100%;display:grid}.chair-card{border:1px solid var(--border);text-align:center;background:#0a1414;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px;display:flex}.chair-name{color:var(--teal);font-size:10px;font-weight:600}.chair-dentist{color:var(--grey);font-size:8px;line-height:1.1}.ring-wrap{width:54px;height:54px;position:relative}.ring-label{font-family:var(--mono);color:var(--teal);justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex;position:absolute;inset:0}.chair-appts{color:var(--grey);font-size:9px}.plan-block{border:1px solid var(--border);background:#0a1414;border-radius:8px;margin-bottom:7px;padding:8px 10px}.plan-name{color:var(--teal);font-size:10px;font-weight:600}.plan-procs{color:var(--bone);margin:3px 0;font-size:9px;line-height:1.35}.plan-foot{justify-content:space-between;align-items:center;display:flex}.plan-time{font-family:var(--mono);color:var(--grey);font-size:9px}.plan-cost{font-family:var(--mono);color:var(--teal);font-size:10px;font-weight:700}.plan-next{color:var(--grey);margin-top:2px;font-size:9px}.revenue-counter{text-align:center;border-bottom:1px solid var(--border);margin-bottom:8px;padding:6px 0 10px}.revenue-value{font-family:var(--mono);color:var(--teal);text-shadow:0 0 12px #22d3ee4d;font-size:24px;font-weight:700}.revenue-label{color:var(--grey);letter-spacing:1px;font-size:9px;font-weight:300}.invoice-card{border:1px solid var(--border);background:#0a1414;border-radius:8px;margin-bottom:6px;padding:6px 9px}.invoice-id{font-family:var(--mono);color:var(--grey-dim);font-size:8px}.invoice-name{color:var(--bone);font-size:9px;font-weight:600}.invoice-treat{color:var(--grey);font-size:8px}.invoice-total{font-family:var(--mono);color:var(--teal);float:right;font-size:11px;font-weight:700}.tabs{border-bottom:1px solid var(--border);gap:14px;margin-bottom:8px;padding:0 2px 6px;display:flex}.tab{cursor:pointer;font-family:var(--sans);color:var(--grey);letter-spacing:.5px;background:0 0;border:none;padding:0 0 4px;font-size:9px;font-weight:600;position:relative}.tab.active{color:var(--teal)}.tab.active:after{content:"";background:var(--teal);height:2px;box-shadow:0 0 6px var(--teal);position:absolute;bottom:-7px;left:0;right:0}.comms-card{border:1px solid var(--border);background:#0a1414;border-radius:8px;margin-bottom:6px;padding:6px 9px}.comms-top{justify-content:space-between;align-items:center;display:flex}.comms-name{color:var(--bone);font-size:9px;font-weight:600}.comms-preview{font-family:var(--mono);color:var(--grey);margin-top:3px;font-size:8px;line-height:1.3}.send-badge{text-transform:uppercase;color:var(--green);background:#34d39926;border:1px solid #34d39966;border-radius:999px;padding:2px 6px;font-size:7px;font-weight:700}.gauge-wrap{flex-direction:column;justify-content:center;align-items:center;gap:2px;height:100%;display:flex}.gauge-svg{position:relative}.gauge-centre{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gauge-value{font-family:var(--mono);color:var(--teal);text-shadow:0 0 12px #22d3ee4d;font-size:32px;font-weight:700;line-height:1}.gauge-label{color:var(--grey);letter-spacing:1px;margin-top:4px;font-size:9px;font-weight:300}.gauge-trend{color:var(--green);margin-top:4px;font-size:9px}.metrics-row{grid-template-columns:repeat(4,1fr);align-items:center;gap:10px;height:100%;display:grid}.metric-block{text-align:center;border-right:1px solid var(--border)}.metric-block:last-child{border-right:none}.metric-num{font-family:var(--mono);color:var(--teal);text-shadow:0 0 12px #22d3ee40;font-size:28px;font-weight:700;line-height:1}.metric-label{color:var(--grey);letter-spacing:.5px;margin-top:6px;font-size:9px;font-weight:300}.reason-line{font-family:var(--mono);color:var(--grey);border-bottom:1px solid #ffffff08;padding:2px 0;font-size:8px;line-height:1.45}.alert-banner{z-index:200;color:#fff;font-family:var(--sans);background:linear-gradient(90deg,#ef4444,#b91c1c);align-items:center;gap:10px;padding:12px 24px;font-size:13px;font-weight:700;display:flex;position:fixed;top:128px;left:0;right:0;box-shadow:0 6px 20px #ef444459}.ticker{border-top:1px solid var(--border);z-index:100;background:#0a1414fa;align-items:center;height:44px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.ticker-track{white-space:nowrap;animation:40s linear infinite ticker-scroll;display:inline-flex}.ticker-item{font-family:var(--sans);color:var(--teal);align-items:center;padding:0 28px;font-size:10px;display:inline-flex}.ticker-item:before{content:"◆";color:var(--teal-dim);margin-right:12px;font-size:7px}.see-it-run{z-index:150;background:var(--teal);color:#06151a;font-family:var(--sans);cursor:pointer;letter-spacing:.5px;border:none;border-radius:10px;padding:10px 20px;font-size:12px;font-weight:700;transition:transform .15s,box-shadow .15s;position:fixed;bottom:56px;right:16px;box-shadow:0 0 18px #22d3ee73}.see-it-run:hover{transform:translateY(-1px);box-shadow:0 0 26px #22d3eea6}.see-it-run:disabled{opacity:.7;cursor:default}.app.shake{animation:.5s ease-in-out 3 shake}.victory{z-index:300;color:#06151a;background:#22d3ee;flex-direction:column;align-items:center;gap:14px;padding:18px 24px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 10px 36px #22d3ee73}.victory-text{font-family:var(--sans);text-align:center;letter-spacing:.3px;max-width:1100px;font-size:18px;font-weight:700}.victory-cta{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.cta{font-family:var(--sans);cursor:pointer;color:#22d3ee;background:#06151a;border:none;border-radius:10px;padding:10px 18px;font-size:12px;font-weight:700;transition:transform .15s,opacity .15s}.cta:hover{opacity:.9;transform:translateY(-1px)}.cta-primary{color:#22d3ee;background:#06151a;box-shadow:0 0 14px #06151a66}.modal-overlay{z-index:400;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#040c0eb8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#0a1f1f;border:1px solid #22d3ee55;border-radius:16px;width:380px;max-width:92vw;max-height:88vh;padding:22px;position:relative;overflow-y:auto;box-shadow:0 0 44px #22d3ee38}.modal-title{font-family:var(--sans);color:var(--teal);margin-bottom:16px;font-size:18px;font-weight:700}.modal-form{flex-direction:column;gap:10px;display:flex}.modal-form label{font-family:var(--sans);letter-spacing:.5px;color:var(--grey);text-transform:uppercase;flex-direction:column;gap:4px;font-size:10px;font-weight:600;display:flex}.modal-form input,.modal-form select,.modal-form textarea{color:var(--bone);font-family:var(--sans);background:#06151a;border:1px solid #22d3ee33;border-radius:8px;outline:none;padding:8px 10px;font-size:12px}.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{border-color:var(--teal)}.modal-form textarea{resize:vertical;min-height:60px}.modal-form .cta-primary{margin-top:6px}.modal-thanks{font-family:var(--sans);color:var(--green);text-align:center;padding:28px 6px;font-size:15px;font-weight:600}.modal-close{color:var(--grey);cursor:pointer;background:0 0;border:none;font-size:14px;position:absolute;top:12px;right:14px}.modal-close:hover{color:var(--bone)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.ticker-track.fast{animation-duration:12s}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}
