@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Lora:ital,wght@0,400;0,500;1,400&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--cream:#faf7f2;--cream-mid:#f2ede4;--cream-dark:#e8e0d3;--ink:#1c1a18;--ink-mid:#3d3830;--ink-light:#7a7268;--gold:#9a7b3a;--gold-light:#c9a85c;--green:#2a4a2a;--green-light:#3d6b3d;--border:#ded6c8;--shadow:#1c1a1814;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"Lora", Georgia, serif}html,body,#root{background:var(--cream);height:100%;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.7}body:before{content:"";pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");position:fixed;inset:0}::selection{background:var(--gold-light);color:var(--ink)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--cream-mid)}::-webkit-scrollbar-thumb{background:var(--cream-dark);border-radius:3px}.login-page{background:var(--cream);justify-content:center;align-items:center;min-height:100%;padding:24px;display:flex}.login-card{border:1px solid var(--border);width:100%;max-width:420px;box-shadow:0 4px 24px var(--shadow);background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:20px;padding:40px 36px 32px;animation:.4s both fadeUp;display:flex}.login-header{text-align:center}.login-wordmark{font-family:var(--font-display);color:var(--green);letter-spacing:.01em;font-size:1.5rem;font-weight:500}.login-wordmark em{font-style:italic;font-weight:300}.login-subtitle{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-light);margin-top:4px;font-size:.75rem}.login-medallion{border:1.5px solid var(--gold);width:56px;height:56px;font-family:var(--font-display);color:var(--gold);border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;font-style:italic;display:flex}.login-form{text-align:center;flex-direction:column;gap:14px;width:100%;display:flex}.login-form h2{font-family:var(--font-display);color:var(--ink-mid);font-size:1.4rem;font-weight:400}.login-description{color:var(--ink-light);margin:0;font-size:.85rem;line-height:1.6}.login-error{color:#b02020;text-align:left;background:#fff3f3;border:1px solid #f5c6c6;border-radius:6px;padding:10px 14px;font-size:.83rem}.login-input{border:1.5px solid var(--border);width:100%;font-family:var(--font-body);color:var(--ink);background:var(--cream);border-radius:8px;outline:none;padding:12px 16px;font-size:.95rem;transition:border-color .15s}.login-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #2a4a2a14}.login-btn{background:var(--green);color:#faf7f2;width:100%;font-family:var(--font-body);cursor:pointer;border:none;border-radius:8px;padding:13px;font-size:.95rem;transition:background .15s,transform .1s}.login-btn:hover:not(:disabled){background:var(--green-light);transform:translateY(-1px)}.login-btn:disabled{opacity:.55;cursor:not-allowed}.login-sent{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.login-sent-icon{color:var(--gold);font-size:2rem}.login-sent h2{font-family:var(--font-display);color:var(--ink-mid);font-size:1.4rem;font-weight:400}.login-sent p{color:var(--ink-light);font-size:.88rem;line-height:1.65}.login-resend{color:var(--ink-light);cursor:pointer;font-size:.8rem;font-family:var(--font-body);background:0 0;border:none;margin-top:8px;text-decoration:underline}.login-footer{color:var(--ink-light);text-align:center;font-size:.72rem;line-height:1.5}.admin-app{background:var(--cream);height:100%;font-family:var(--font-body);flex-direction:column;display:flex}.admin-header{border-bottom:1px solid var(--border);background:#fff;flex-shrink:0;align-items:center;gap:16px;height:56px;padding:0 28px;display:flex}.admin-header-wordmark{font-family:var(--font-display);color:var(--green);letter-spacing:.01em;font-size:1.15rem;font-weight:500}.admin-header-wordmark em{font-style:italic;font-weight:300}.admin-header-divider{background:var(--border);width:1px;height:20px}.admin-header-subtitle{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-light);font-size:.72rem}.admin-header-spacer{flex:1}.admin-logout-btn{border:1px solid var(--border);font-family:var(--font-body);color:var(--ink-light);cursor:pointer;background:0 0;border-radius:6px;padding:5px 12px;font-size:.78rem}.admin-logout-btn:hover{border-color:var(--ink-light);color:var(--ink)}.admin-tabs{border-bottom:1px solid var(--border);background:#fff;flex-shrink:0;gap:0;padding:0 28px;display:flex}.admin-tab{color:var(--ink-light);cursor:pointer;font-size:.85rem;font-family:var(--font-body);background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 20px;transition:color .15s}.admin-tab:hover{color:var(--ink)}.admin-tab.active{color:var(--green);border-bottom-color:var(--green);font-weight:500}.admin-content{flex:1;padding:28px;overflow-y:auto}.admin-section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.admin-section-title{font-family:var(--font-display);color:var(--ink-mid);font-size:1.3rem;font-weight:400}.invite-form{gap:10px;max-width:480px;display:flex}.invite-input{border:1.5px solid var(--border);font-family:var(--font-body);color:var(--ink);background:#fff;border-radius:8px;outline:none;flex:1;padding:10px 14px;font-size:.9rem;transition:border-color .15s}.invite-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #2a4a2a14}.invite-btn{background:var(--green);color:#faf7f2;font-family:var(--font-body);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:10px 20px;font-size:.9rem;transition:background .15s}.invite-btn:hover:not(:disabled){background:var(--green-light)}.invite-btn:disabled{opacity:.55;cursor:not-allowed}.invite-success{color:#2a6a2a;margin-top:8px;font-size:.85rem}.invite-error{color:#b02020;margin-top:8px;font-size:.85rem}.retention-box{border:1.5px solid var(--border);background:#fff;border-radius:8px;max-width:560px;margin-bottom:24px;padding:14px 16px}.retention-label{color:var(--ink);margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.retention-select{border:1.5px solid var(--border);font-family:var(--font-body);color:var(--ink);background:#fff;border-radius:8px;padding:8px 12px;font-size:.9rem}.retention-help{color:var(--ink-light);margin:8px 0 0;font-size:.8rem;line-height:1.45}.admin-table{border-collapse:collapse;border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;font-size:.85rem;overflow:hidden}.admin-table th{text-align:left;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-light);background:var(--cream);border-bottom:1px solid var(--border);padding:11px 16px;font-size:.72rem;font-weight:500}.admin-table td{color:var(--ink);border-bottom:1px solid var(--border);vertical-align:top;padding:12px 16px}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#faf8f4}.admin-table .col-email{color:var(--ink-mid)}.admin-table .col-date{color:var(--ink-light);white-space:nowrap;font-size:.8rem}.admin-table .col-q{max-width:320px}.admin-table .col-answer{max-width:360px;color:var(--ink-light)}.escalated-badge{color:#b06000;background:#fff3e0;border:1px solid #f5c86a;border-radius:4px;padding:1px 7px;font-size:.72rem;font-weight:500;display:inline-block}.empty-table-row td{text-align:center;color:var(--ink-light);padding:40px}.access-help{color:var(--ink-light);max-width:620px;margin:0 0 18px;font-size:.82rem;line-height:1.6}.access-toggles{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.access-chip{border:1px solid var(--line,#ded6c8);color:var(--ink-light);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:3px 11px;font-family:inherit;font-size:.78rem;transition:background .12s,color .12s,border-color .12s}.access-chip:hover:not(:disabled){border-color:var(--green);color:var(--green)}.access-chip.on{background:var(--green);border-color:var(--green);color:#fff;font-weight:500}.access-chip.on:hover:not(:disabled){background:var(--green-light,var(--green))}.access-chip:disabled{opacity:.55;cursor:progress}.access-error{color:#b06000;margin-left:4px;font-size:.72rem}.app{flex-direction:column;max-width:780px;height:100%;margin:0 auto;display:flex}.header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:baseline;gap:16px;padding:28px 32px 20px;display:flex}.header-wordmark{font-family:var(--font-display);letter-spacing:.01em;color:var(--green);font-size:1.5rem;font-weight:500}.header-wordmark em{font-style:italic;font-weight:300}.header-divider{background:var(--border);flex-shrink:0;width:1px;height:18px}.header-subtitle{font-family:var(--font-body);color:var(--ink-light);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.thread{flex-direction:column;flex:1;gap:32px;padding:32px;display:flex;overflow-y:auto}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;height:100%;animation:.6s both fadeUp;display:flex}.empty-medallion{border:1.5px solid var(--gold);width:64px;height:64px;color:var(--gold);font-size:1.6rem;font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;font-style:italic;display:flex}.empty-heading{font-family:var(--font-display);color:var(--ink-mid);font-size:1.9rem;font-weight:400;line-height:1.3}.empty-heading em{color:var(--green);font-style:italic}.empty-body{color:var(--ink-light);max-width:360px;font-size:.9rem;line-height:1.7}.suggestion-chips{flex-wrap:wrap;justify-content:center;gap:8px;max-width:520px;display:flex}.chip{background:var(--cream-mid);border:1px solid var(--border);font-family:var(--font-body);color:var(--ink-mid);cursor:pointer;border-radius:20px;padding:7px 16px;font-size:.8rem;line-height:1.4;transition:all .15s}.chip:hover{background:var(--green);border-color:var(--green);color:#fff;transform:translateY(-1px)}.message-pair{flex-direction:column;gap:20px;animation:.4s both fadeUp;display:flex}.question-bubble{background:var(--green);color:#f5f0e8;border-radius:18px 18px 4px;align-self:flex-end;max-width:72%;padding:12px 18px;font-size:.95rem;line-height:1.6;box-shadow:0 2px 8px #2a4a2a33}.answer-block{align-items:flex-start;gap:14px;display:flex}.answer-avatar{background:var(--cream-dark);border:1.5px solid var(--gold);width:36px;height:36px;font-family:var(--font-display);color:var(--gold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;font-size:.9rem;font-style:italic;display:flex}.answer-content{flex:1;min-width:0}.answer-name{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-light);margin-bottom:8px;font-size:.72rem;font-weight:600}.answer-text{color:var(--ink-mid);font-size:.95rem;line-height:1.85}.answer-text strong{color:var(--ink);font-weight:600}.answer-text h2,.answer-text h3{font-family:var(--font-display);color:var(--green);margin:16px 0 6px;font-size:1.15rem;font-weight:500}.answer-text p{margin-bottom:12px}.answer-text p:last-child{margin-bottom:0}.answer-text ul,.answer-text ol{margin-bottom:12px;padding-left:20px}.answer-text li{margin-bottom:4px}.answer-text hr{border:none;border-top:1px solid var(--border);margin:16px 0}.escalate-note{border-left:3px solid var(--gold);color:var(--ink-light);background:#fefbf3;border-radius:0 6px 6px 0;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;font-size:.8rem;font-style:italic;display:flex}.sources-row{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.source-tag{color:var(--ink-light);background:var(--cream-mid);border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;max-width:240px;padding:3px 8px;font-size:.7rem;overflow:hidden}.typing-indicator{align-items:center;gap:5px;padding:6px 2px;display:flex}.typing-indicator span{background:var(--ink-light);border-radius:50%;width:7px;height:7px;animation:1.2s infinite bounce}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}.input-area{border-top:1px solid var(--border);flex-shrink:0;padding:20px 32px 28px}.input-row{border:1.5px solid var(--border);background:#fff;border-radius:12px;align-items:flex-end;gap:10px;padding:10px 10px 10px 18px;transition:border-color .15s,box-shadow .15s;display:flex}.input-row:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #2a4a2a14}.input-field{font-family:var(--font-body);color:var(--ink);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:120px;font-size:.95rem;line-height:1.6}.input-field::placeholder{color:var(--ink-light)}.send-btn{background:var(--green);cursor:pointer;color:#fff;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s,transform .1s;display:flex}.send-btn:hover:not(:disabled){background:var(--green-light);transform:translateY(-1px)}.send-btn:disabled{background:var(--cream-dark);cursor:not-allowed}.input-hint{color:var(--ink-light);text-align:center;letter-spacing:.02em;margin-top:8px;font-size:.7rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}
