@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--primary:#c2704e;--primary-strong:#8f4526;--primary-hover:#7a3a20;--primary-tint:#f6e4da;--secondary:#2f6f55;--secondary-strong:#245844;--secondary-tint:#d8eee3;--tertiary:#e3d5c0;--tertiary-soft:#f3ece0;--tertiary-dark:#6b6150;--neutral:#1e2022;--neutral-muted:#5a5048;--surface:#fff;--background:#f8f4ee;--border:#e6dccd;--danger:#b91c1c;--danger-tint:#fde8e6;--font-display:"Playfair Display", Georgia, "Times New Roman", serif;--font-body:"Plus Jakarta Sans", Arial, Helvetica, sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font-body);background:var(--background);color:var(--neutral)}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--primary-strong);outline-offset:2px}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:80px;padding:0 6%;display:flex}.topbar h1{font-family:var(--font-display);color:var(--primary-strong);letter-spacing:-.01em;margin:0;font-size:26px;font-weight:700}.topbar p{color:var(--neutral-muted);margin:4px 0 0;font-size:13px}.backend-status{color:var(--secondary-strong);background:var(--secondary-tint);border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:13px;font-weight:600;display:flex}.status-dot{background:var(--secondary);border-radius:50%;width:9px;height:9px}.main-container{flex:1;grid-template-columns:minmax(0,1fr) 350px;gap:25px;width:90%;max-width:1200px;margin:35px auto;display:grid}.chat-card,.appointment-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden}.chat-card{flex-direction:column;min-height:650px;display:flex}.chat-header{border-bottom:1px solid var(--border);background:var(--tertiary-soft);padding:22px 25px}.chat-header h2,.appointment-header h2{font-family:var(--font-display);color:var(--neutral);margin:0;font-size:21px;font-weight:600}.chat-header p,.appointment-header p{color:var(--neutral-muted);margin:5px 0 0;font-size:13px}.messages{flex:1;padding:25px;overflow-y:auto}.message-row{margin-bottom:15px;display:flex}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.message{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px;max-width:70%;padding:12px 16px;font-size:14px;line-height:1.55}.message-row.user .message{background:var(--primary-strong);color:#fff;border-bottom-right-radius:4px}.message-row.assistant .message{background:var(--tertiary-soft);color:var(--neutral);border:1px solid var(--border);border-bottom-left-radius:4px}.typing{color:var(--neutral-muted)}.typing small{color:var(--neutral-muted);font-size:11px;line-height:1.5}.input-area{border-top:1px solid var(--border);background:var(--surface);gap:10px;padding:18px;display:flex}.input-area input{border:1px solid var(--tertiary);min-width:0;color:var(--neutral);background:var(--background);border-radius:12px;outline:none;flex:1;padding:12px 14px}.input-area input::placeholder{color:var(--neutral-muted);opacity:.8}.input-area input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint)}.input-area input:disabled{opacity:.7}.input-area button{background:var(--primary-strong);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:0 24px;font-weight:600;transition:background .15s,transform .1s}.input-area button:hover:not(:disabled){background:var(--primary-hover)}.input-area button:active:not(:disabled){transform:translateY(1px)}.input-area button:disabled{opacity:.5;cursor:not-allowed}.appointment-card{height:fit-content;padding:25px}.appointment-header{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.session-badge{background:var(--secondary-tint);color:var(--secondary-strong);white-space:nowrap;border-radius:20px;padding:5px 10px;font-size:11px;font-weight:700}.details{margin-top:25px}.detail{border-bottom:1px solid var(--border);flex-direction:column;gap:5px;padding:15px 0;display:flex}.detail span{color:var(--tertiary-dark);font-size:12px;font-weight:600}.detail strong{color:var(--neutral);overflow-wrap:anywhere;font-size:14px;font-weight:600}.booking-status{background:var(--tertiary-soft);border:1px solid var(--tertiary);border-left:4px solid var(--secondary);border-radius:12px;flex-direction:column;gap:5px;margin-top:25px;padding:15px;display:flex}.booking-status span{color:var(--tertiary-dark);font-size:12px;font-weight:600}.booking-status strong{color:var(--secondary-strong);font-size:14px}.reset-button{border:1px solid var(--tertiary-dark);width:100%;color:var(--neutral);cursor:pointer;background:0 0;border-radius:10px;margin-top:20px;padding:11px;font-weight:600;transition:background .15s,border-color .15s}.reset-button:hover{background:var(--tertiary-soft);border-color:var(--primary-strong)}.error{background:var(--danger-tint);color:var(--danger);border:1px solid #f3c7c3;border-radius:10px;margin:0 18px 10px;padding:10px 12px;font-size:13px;line-height:1.5}footer{text-align:center;color:var(--neutral-muted);padding:20px;font-size:12px}.modal-overlay{z-index:9999;background:#1412107a;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;inset:0}.reset-modal{background:var(--surface);border:1px solid var(--border);border-radius:18px;width:100%;max-width:430px;padding:28px;animation:.16s ease-out modalAppear;box-shadow:0 25px 70px #00000040}@keyframes modalAppear{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.reset-modal h2{font-family:var(--font-display);color:var(--neutral);margin:0 0 12px;font-size:24px;font-weight:600}.reset-modal p{color:var(--neutral-muted);margin:0;font-size:14px;line-height:1.6}.modal-buttons{justify-content:flex-end;gap:12px;margin-top:25px;display:flex}.modal-buttons button{cursor:pointer;border:none;border-radius:9px;padding:10px 18px;font-size:14px;font-weight:600;transition:opacity .15s,transform .1s}.modal-buttons button:hover{opacity:.85}.modal-buttons button:active{transform:translateY(1px)}.modal-cancel{color:var(--neutral);background:#e9e6e1}.modal-confirm{background:var(--primary-strong);color:#fff}.modal-confirm:hover{background:var(--primary-hover)}@media (width<=850px){.main-container{grid-template-columns:1fr}.appointment-card{order:-1}.chat-card{min-height:600px}}@media (width<=600px){.topbar{padding:0 20px}.topbar h1{font-size:20px}.backend-status{display:none}.main-container{width:95%;margin:15px auto}.message{max-width:85%}.input-area{padding:12px}.input-area button{padding:0 17px}.reset-modal{padding:23px}.modal-buttons{flex-direction:column-reverse}.modal-buttons button{width:100%}}
