@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Nunito:ital,wght@1,700&display=swap";:root{--brand: #dfb872;--dark: #0f172a;--sidebar-bg: #ffffff}*{box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#fff;color:#101828}.shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-shell{background:radial-gradient(circle at top,#ffffffb3,#ffffff4d)}.auth-card{width:min(420px,100%);background:#ffffffeb;border-radius:12px;padding:2.5rem;box-shadow:none;display:flex;flex-direction:column;gap:1.5rem}.auth-card h2{margin:0;font-size:1.8rem}.login-info{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;text-align:center}.login-info p{margin:0;font-size:.9rem;line-height:1.5}.link-button{border:none;background:transparent;color:#0f172a;font-weight:600;cursor:pointer;font-size:.9rem;text-decoration:underline;padding:.5rem}.link-button:hover{color:var(--brand)}.about-shell{background:radial-gradient(circle at top,#ffffffb3,#ffffff4d)}.about-card{width:min(700px,100%);background:#ffffffeb;border-radius:12px;padding:2.5rem;box-shadow:none;display:flex;flex-direction:column;gap:1.5rem}.about-card h2{margin:0;font-size:2rem;text-align:center}.about-card h3{margin:0 0 .75rem;font-size:1.3rem;color:#0f172a}.about-section{display:flex;flex-direction:column;gap:.75rem}.about-section p{margin:0;line-height:1.6;color:#475467}.about-section ul{margin:0;padding-left:1.5rem;display:flex;flex-direction:column;gap:.5rem}.about-section li{line-height:1.6;color:#475467}.muted{color:#6b7280;margin-top:.25rem}.form-grid{display:flex;flex-direction:column;gap:1rem}.form-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.95rem;color:#475467}.form-grid input{border:1px solid rgba(15,23,42,.15);border-radius:14px;padding:.85rem 1rem;font-size:1rem;background:#fff}.form-grid button{border-radius:16px;border:none;padding:.9rem 1rem;font-weight:600;background:var(--brand);color:#fff;cursor:pointer}.form-grid button:disabled{opacity:.6;cursor:default}.ghost-button,.outline-button,.primary-button{border-radius:16px;padding:.65rem 1.2rem;font-weight:600;cursor:pointer;font-size:.95rem}.ghost-button{border:1px solid transparent;color:#0f172a;background:transparent;text-decoration:none}.outline-button{border:1px solid rgba(15,23,42,.2);background:transparent}.primary-button{border:none;background:#000;color:#fff}.app-frame{height:100vh;height:100dvh;padding:0;overflow:hidden}.chat-shell{display:flex;gap:0;height:100vh;height:100dvh;min-height:0;background:#fff;overflow:hidden}.sidebar{width:285px;background:var(--sidebar-bg);border-radius:0;padding:1.25rem .75rem;box-shadow:none;display:flex;flex-direction:column;height:100%;overflow-y:auto;flex-shrink:0;transition:margin-left .2s ease}.sidebar.open{margin-left:0}.sidebar.closed{margin-left:-285px;pointer-events:none}.sidebar-overlay{display:none}.sidebar-close-btn{background:none;border:1px solid rgba(15,23,42,.1);border-radius:8px;cursor:pointer;padding:.35rem .6rem;color:#0f172a;flex-shrink:0;display:flex;align-items:center;justify-content:center;line-height:1}.sidebar-close-btn:hover{background:#0000000a}.sidebar-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.sidebar-button{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(15,23,42,.12);border-radius:16px;padding:.6rem 1rem;background:#fff;color:#000;cursor:pointer;font-weight:600;font-style:italic;font-size:1rem}.sidebar-button.wide{width:100%;justify-content:center}.sidebar-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.2rem}.sidebar-loading{padding:.75rem 1rem;text-align:center;color:var(--text-muted);font-size:.85rem}.chat-preview-row{display:flex;align-items:center;gap:.3rem;padding:.25rem;border-radius:10px;background:transparent}.chat-preview-row.active{background:#0000000a}.chat-preview{flex:1;min-width:0;text-align:left;border:none;background:transparent;border-radius:12px;padding:.15rem .5rem;display:flex;flex-direction:column;gap:.15rem;cursor:pointer}.preview-actions{position:relative}.ghost-icon{border:none;background:transparent;cursor:pointer;font-size:1rem;padding:.1rem .3rem;color:#475467}.preview-menu{position:absolute;top:120%;right:0;background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:10px;box-shadow:none;display:flex;flex-direction:column;min-width:140px;z-index:5}.preview-menu button{border:none;background:transparent;text-align:left;padding:.6rem .8rem;cursor:pointer}.preview-menu button:hover{background:#0000000a}.preview-title{font-weight:600;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-text{font-size:.85rem;color:#6b7280}.chat-main{flex:1;min-width:0;background:#fff;height:100%}.chat-surface{background:#fff;border-radius:0;padding:1.5rem 2rem;height:100%;box-shadow:none;display:flex;flex-direction:column;min-height:0}.chat-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid rgba(15,23,42,.06);padding-bottom:.5rem;margin-bottom:.25rem;position:sticky;top:0;background:#fff;z-index:10;flex-shrink:0}.header-left{display:flex;align-items:center;gap:.75rem}.header-left h1{margin:0}.sidebar-toggle{background:none;border:1px solid rgba(15,23,42,.1);border-radius:8px;font-size:1.4rem;cursor:pointer;padding:.35rem .6rem;color:#0f172a;line-height:1;display:flex;align-items:center;justify-content:center}.sidebar-toggle:hover{background:#0000000a}.sidebar-toggle.hidden-toggle{visibility:hidden;pointer-events:none}.header-menu-wrapper{position:relative}.menu-backdrop{position:fixed;inset:0;z-index:9}.header-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:12px;min-width:220px;z-index:10;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 24px #0000001a}.header-dropdown button,.header-dropdown a{display:block;width:100%;text-align:left;padding:.75rem 1rem;border:none;background:transparent;cursor:pointer;font-size:.95rem;color:#0f172a;text-decoration:none}.header-dropdown button:hover,.header-dropdown a:hover{background:#0000000a}.header-dropdown .dropdown-danger{color:#dc2626;border-top:1px solid rgba(15,23,42,.06)}#text{font-family:Nunito,sans-serif;font-weight:700;font-style:italic;text-align:center;font-size:1.7rem;color:#000;background-color:#fff;margin:0}.jussai-brand{font-family:Nunito,sans-serif;font-weight:700;font-style:italic;color:#000}.burger-btn{background:none;border:1px solid rgba(15,23,42,.1);border-radius:8px;cursor:pointer;padding:.35rem .6rem;color:#0f172a;display:flex;align-items:center;justify-content:center;line-height:1}.burger-btn:hover{background:#0000000a}@keyframes attention-blink{0%,to{background:none}50%{background:#0f172a1f}}.burger-btn.attention-blink{animation:attention-blink .6s ease-in-out 4}.status-pill{align-self:flex-start;margin-bottom:1rem;padding:.35rem .9rem;border-radius:999px;font-size:.85rem;font-weight:600;background:#2563eb1f;color:#1d4ed8}.status-pill.clickable{cursor:pointer;transition:background .15s}.status-pill.clickable:hover{background:#2563eb38}.status-pill.error.clickable:hover{background:#ef444438}.status-pill-link{text-decoration:underline;margin-left:.3rem}.status-pill.error{background:#ef44441f;color:#b91c1c}.messages-panel{flex:1;min-height:0;border-radius:0;background:#fff;border:none;padding:.5rem 1.4rem;margin-bottom:0;overflow:hidden}.message-stream{height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding-right:.5rem}.message-row{display:flex;gap:.85rem;align-items:flex-start}.message-row.message-user{flex-direction:row-reverse}.message-avatar{width:38px;height:38px;border-radius:50%;background:#e2e8f0;color:#1e293b;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center}.message-avatar.user{background:var(--brand);color:#fff}.message-card{max-width:85%;padding:1rem 1.1rem;border-radius:20px;box-shadow:none}.message-user .message-card{background:#f8fafc;color:#0f172a}.message-ai .message-card{background:transparent;border:none;color:#0f172a}.message-internal{opacity:.85}.message-internal .message-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px dashed #d97706;border-radius:16px;position:relative}.message-internal .message-card.internal{background:linear-gradient(135deg,#fef3c7,#fde68a)}.message-avatar.internal{background:#d97706;color:#fff;font-size:.9rem}.internal-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#92400e;margin-bottom:.5rem;padding:.25rem .5rem;background:#d9770626;border-radius:4px;display:inline-block}.message-content{line-height:1.6}.message-content p{margin:0 0 .65rem}.message-content ul,.message-content ol{margin:.5rem 0 .8rem 1.25rem}.message-content code{background:#0f172a14;padding:.15rem .35rem;border-radius:6px;font-size:.9rem}.message-attached-docs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.attached-doc-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;background:#2563eb14;border-radius:8px;font-size:.8rem;color:#1e40af;font-weight:500}.citations-section{margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1);font-size:.85rem}.citations-section strong{color:#94a3b8;font-weight:600}.citations-section ul{margin:.5rem 0 0;padding-left:1.2rem;list-style-type:disc}.citations-section li{margin:.25rem 0}.citations-section a{color:#38bdf8;text-decoration:none;transition:color .15s ease}.citations-section a:hover{color:#7dd3fc;text-decoration:underline}.typing-indicator-container{display:flex;flex-direction:column;gap:.75rem}.status-text{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .85rem;background:linear-gradient(135deg,#22b3c91f,#0ea5e914);border-radius:999px;font-size:.85rem;font-weight:500;color:#0369a1;width:fit-content;transition:opacity .3s ease-out,transform .3s ease-out}.status-text.fade-in{opacity:1;transform:translateY(0)}.status-text.fade-out{opacity:0;transform:translateY(-4px)}.status-text:before{content:"";width:8px;height:8px;background:#0ea5e9;border-radius:50%;animation:pulse 1.5s infinite ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.typing-dots{display:inline-flex;gap:.35rem;padding:.6rem 1rem;background:#94a3b833;border-radius:999px;width:fit-content}.typing-dots span{width:8px;height:8px;background:#475467;border-radius:50%;animation:blink 1.2s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.2}40%{opacity:1}}.message-card.streaming{position:relative}.streaming-cursor{display:inline-block;width:2px;height:1.2em;background:#0ea5e9;margin-left:2px;animation:cursorBlink .8s infinite;vertical-align:text-bottom}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}.typing-indicator{display:inline-flex;gap:.35rem;padding:.6rem 1rem;background:#94a3b833;border-radius:999px;width:fit-content}.typing-indicator span{width:8px;height:8px;background:#475467;border-radius:50%;animation:blink 1.2s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}.composer{border-radius:24px;border:1px solid rgba(15,23,42,.08);background:#fff;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.85rem}.composer textarea{width:100%;resize:none;border:none;outline:none;font-size:1.2rem;color:#0f172a;font-family:Georgia,Times New Roman,serif;min-height:2.5em;max-height:200px;overflow-y:auto}.composer textarea:disabled{opacity:.6}.composer-actions{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.composer-left{display:flex;align-items:center;gap:.5rem}.quality-toggle{display:flex;gap:0;background:#f1f5f9;border-radius:8px;padding:3px}.quality-btn{padding:6px 14px;font-size:.85rem;font-weight:500;border:none;background:transparent;color:#64748b;cursor:pointer;border-radius:6px;transition:all .15s ease}.quality-btn:hover{color:#334155}.quality-btn.active{background:#fff;color:#0f172a;box-shadow:0 1px 3px #00000014}.empty-state{height:100%;display:flex;align-items:center;justify-content:center}.empty-card{text-align:center;padding:2.5rem;background:transparent;border:none;box-shadow:none;max-width:540px}.empty-icon{width:54px;height:54px;border-radius:16px;background:#22b3c926;color:#0f766e;display:inline-flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:1rem}.example-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-top:1.25rem}.example-chip{border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:.65rem .9rem;background:#fff;cursor:pointer;font-size:.9rem;text-align:left}.error-text{color:#b91c1c;font-size:.9rem}.success-text{color:#166534;font-size:.9rem}.separator{text-align:center;color:#94a3b8;margin:.5rem 0}.sidebar::-webkit-scrollbar,.message-stream::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb,.message-stream::-webkit-scrollbar-thumb{background:#0f172a33;border-radius:999px}@media(max-width:768px){.sidebar{position:fixed;top:0;left:0;bottom:0;width:100%;z-index:100;margin-left:0;transform:translate(-100%);transition:transform .25s ease;pointer-events:auto}.sidebar.open{transform:translate(0)}.sidebar.closed{transform:translate(-100%);margin-left:0}.sidebar-overlay{display:block;position:fixed;inset:0;background:#0006;z-index:99}.chat-surface{padding:1rem}#text{display:none}}.billing-shell{padding:2rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;justify-content:flex-start;gap:1.5rem;background:#fff;min-height:0;height:100vh;height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}.billing-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.billing-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.billing-balance{background:#f8fafc;border:1px solid rgba(15,23,42,.08);padding:.5rem .75rem;border-radius:8px}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.plan-card{border:1px solid rgba(15,23,42,.05);border-radius:8px;padding:1rem;background:#fff;display:flex;flex-direction:column;gap:.75rem;box-shadow:none}.plan-card.current{border-color:#22c55e;background:#f0fdf4}.plan-card.downgrade{opacity:.6}.plan-top{display:flex;flex-direction:column;gap:.25rem}.plan-price{font-size:1.5rem;font-weight:700}.plan-price-original{text-decoration:line-through;color:#94a3b8;font-weight:400;font-size:1.1rem;margin-right:.3rem}.plan-cycle{font-size:.85rem;color:#475467;margin-top:.1rem}.plan-highlight{color:#16a34a;font-weight:600}.payment-hold-banner{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;padding:.6rem 1rem;display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:.9rem;font-weight:500;border-radius:.5rem;margin:.5rem 1rem 0}.retry-payment-btn{background:#991b1b;color:#fff;border:none;padding:.3rem .8rem;border-radius:.375rem;cursor:pointer;font-size:.85rem;font-weight:500}.retry-payment-btn:hover{background:#7f1d1d}.payment-hold-section{background:#fef2f2;border:1px solid #fca5a5;border-radius:.5rem;padding:1rem 1.25rem;margin-bottom:1rem;text-align:center}.payment-hold-text{color:#991b1b;font-weight:500;margin:0 0 .75rem}.plan-action{margin-top:.5rem}.plan-status{display:block;text-align:center;padding:.5rem;font-size:.9rem;color:#22c55e;font-weight:500}.plan-status.muted{color:#94a3b8;font-weight:400}.current-badge{display:inline-block;background:#22c55e;color:#fff;font-size:.7rem;font-weight:600;padding:.2rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.plan-description{color:#475467;font-size:.9rem;line-height:1.4}.topup-section{margin-top:1.5rem;padding:1.25rem;border-radius:8px;background:#f0fdf4;border:1px solid rgba(34,197,94,.2)}.topup-section h3{margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.topup-form{display:flex;gap:.75rem;align-items:center;margin-top:1rem;flex-wrap:wrap}.topup-input{width:140px;padding:.6rem .75rem;border:1px solid rgba(15,23,42,.15);border-radius:6px;font-size:1rem}.topup-input:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 2px #22c55e26}.vipps-cta{display:block;width:100%}.vipps-cta.stretched{width:100%}.purchase-status{border:1px dashed rgba(15,23,42,.15);border-radius:12px;padding:1rem;background:#f8fafc;display:flex;flex-direction:column;gap:.75rem}.purchase-actions{display:flex;gap:.75rem;flex-wrap:wrap}.current-subscription-section{padding:1.25rem;border-radius:8px;background:#f0fdf4;border:1px solid rgba(34,197,94,.2)}.current-subscription-section h3{margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.current-plan-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border-radius:8px;border:1px solid rgba(34,197,94,.2)}.current-plan-card .plan-info{display:flex;flex-direction:column;gap:.25rem}.current-plan-card .plan-name{font-weight:600;font-size:1.1rem}.current-plan-card .plan-price{color:#475467;font-size:.9rem}.current-plan-card .plan-period{color:#475467;font-size:.85rem;margin-top:.25rem}.current-plan-card .plan-cancelled-notice{color:#dc2626;font-size:.85rem;font-weight:500;margin-top:.25rem;padding:.25rem .5rem;background:#fef2f2;border-radius:4px}.outline-button.danger{color:#dc2626;border-color:#dc2626}.outline-button.danger:hover:not(:disabled){background:#fef2f2}.plans-section{margin-top:.5rem}.plans-section h3{margin-bottom:1rem;font-size:1.1rem;font-weight:600}.payment-history-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(15,23,42,.08)}.payment-history-section h3{margin-bottom:1rem;font-size:1.1rem;font-weight:600}.usage-history-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(15,23,42,.08)}.usage-history-section h3{margin-bottom:1rem;font-size:1.1rem;font-weight:600}.usage-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.consent-withdraw-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(15,23,42,.08);display:flex;flex-direction:column;gap:.75rem}.consent-withdraw-section h3{margin:0;font-size:1.1rem;font-weight:600}.usage-table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.usage-table{width:100%;border-collapse:collapse;font-size:.9rem}.usage-table th,.usage-table td{padding:.75rem .5rem;text-align:left;border-bottom:1px solid rgba(15,23,42,.06);white-space:nowrap}.usage-table th{font-weight:600;color:#475467;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.usage-table td.request-label{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0f172a}.usage-label-mobile-row{display:none}@media(max-width:600px){.billing-shell{padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.usage-table{font-size:.78rem}.usage-table th,.usage-table td{padding:.5rem .3rem}.usage-table .hide-mobile{display:none}.usage-label-mobile-row{display:table-row}.usage-label-mobile-row td{padding:.4rem .5rem!important;color:#0f172a;font-weight:500;white-space:normal;background:#f8fafc;border-bottom:1px solid rgba(15,23,42,.03)}.usage-call-row{font-size:.74rem}}.usage-table tbody tr:hover{background:#f8fafc}.pricing-info-section{max-width:600px}.pricing-table{margin-bottom:1rem}.pricing-modes p{margin:.25rem 0;font-size:.9rem;color:#334155}.pricing-free{margin-top:.5rem}.usage-row.expandable{cursor:pointer}.usage-row.expandable:hover{background:#f1f5f9}.expand-cell{width:1.5rem;padding-right:0!important}.expand-chevron{color:#94a3b8;font-size:.8rem}.usage-call-row{background:#f8fafc;font-size:.82rem}.usage-call-row td{padding-top:.4rem!important;padding-bottom:.4rem!important;color:#64748b;border-bottom:1px solid rgba(15,23,42,.03)}.usage-call-row .call-model{font-weight:600;color:#475569}.free-service-row td{color:#16a34a!important}.free-service-row .call-model{color:#16a34a}.free-tag{font-weight:600;color:#16a34a!important}.composer-documents{display:flex;flex-wrap:wrap;gap:.5rem;padding-bottom:.5rem;border-bottom:1px solid rgba(15,23,42,.06)}.document-chip{display:inline-flex;align-items:center;gap:.35rem;background:#f1f5f9;border-radius:8px;padding:.4rem .7rem;font-size:.85rem;color:#475467}.document-chip.uploaded{background:#ecfdf5;border:1px solid #86efac}.document-chip.pending{background:#fef3c7;border:1px dashed #f59e0b}.document-icon{font-size:.9rem}.document-name{font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-tokens{color:#94a3b8;font-size:.75rem}.document-remove{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:1rem;line-height:1;padding:0 .2rem;margin-left:.2rem}.document-remove:hover{color:#ef4444}.upload-progress{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.85rem;color:#64748b}.upload-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.composer-input-area{position:relative;width:100%}.composer-input-area.dragging{background:#dfb87214;border-radius:12px}.composer-input-area.dragging textarea{pointer-events:none}.attach-button{background:#f1f5f9;border:none;border-radius:8px;padding:.5rem .75rem;font-size:1.1rem;cursor:pointer;transition:background .15s ease}.attach-button:hover:not(:disabled){background:#e2e8f0}.attach-button:disabled{opacity:.5;cursor:not-allowed}.document-download-link{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #86efac;border-radius:12px;padding:.6rem 1rem;color:#166534;text-decoration:none;font-weight:500;font-size:.9rem;transition:all .15s ease;margin:.5rem 0}.document-download-link:hover{background:linear-gradient(135deg,#dcfce7,#d1fae5);border-color:#4ade80;box-shadow:0 2px 8px #16653426}.download-icon{font-size:1.1rem}.download-action{font-size:.9rem;margin-left:auto}.terms-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.terms-modal{background:#fff;border-radius:16px;width:min(720px,100%);max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 48px #0003}.terms-modal-header{padding:1.5rem 2rem;border-bottom:1px solid #e5e7eb}.terms-modal-header h2{margin:0 0 .25rem;font-size:1.5rem;color:#101828}.terms-modal-header .muted{margin:0;font-size:.85rem;color:#6b7280}.terms-modal-content{flex:1;overflow-y:auto;padding:1.5rem 2rem;font-size:.95rem;line-height:1.7}.terms-modal-content h1{font-size:1.4rem;margin:1.5rem 0 1rem;color:#101828;border-bottom:2px solid var(--brand);padding-bottom:.5rem}.terms-modal-content h1:first-child{margin-top:0}.terms-modal-content h2{font-size:1.15rem;margin:1.25rem 0 .75rem;color:#374151}.terms-modal-content h3{font-size:1rem;margin:1rem 0 .5rem;color:#4b5563}.terms-modal-content p{margin:.75rem 0}.terms-modal-content ul,.terms-modal-content ol{margin:.75rem 0;padding-left:1.5rem}.terms-modal-content li{margin:.4rem 0}.terms-modal-content hr{border:none;border-top:1px solid #e5e7eb;margin:2rem 0}.terms-modal-content strong{color:#101828}.terms-modal-actions{padding:1.25rem 2rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:1rem;background:#fafafa;border-radius:0 0 16px 16px}.terms-modal-actions .primary-button{padding:.75rem 2rem;font-size:1rem}.app-dialog-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.app-dialog{background:#fff;border-radius:16px;width:min(420px,100%);box-shadow:0 24px 48px #0003;animation:dialog-enter .15s ease-out}@keyframes dialog-enter{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.app-dialog h3{margin:0;padding:1.25rem 1.5rem 0;font-size:1.1rem;color:#101828}.app-dialog-message{margin:0;padding:.75rem 1.5rem 1.25rem;font-size:.95rem;color:#475569;line-height:1.5}.app-dialog-input{display:block;width:calc(100% - 3rem);margin:0 1.5rem 1.25rem;padding:.6rem .75rem;font-size:.95rem;border:1px solid #d1d5db;border-radius:8px;outline:none;transition:border-color .15s}.app-dialog-input:focus{border-color:#000;box-shadow:0 0 0 2px #00000014}.app-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:0 1.5rem 1.25rem}.app-dialog-actions .primary-button.danger{background:#dc2626}.app-dialog-actions .primary-button.danger:hover:not(:disabled){background:#b91c1c}.char-counter{position:absolute;bottom:.5rem;right:.5rem;font-size:.75rem;color:#94a3b8;background:#ffffffe6;padding:.15rem .4rem;border-radius:4px}.char-counter.warning{color:#f59e0b;font-weight:500}.char-counter.error{color:#ef4444;font-weight:600}.truncated-badge{font-size:.7rem;font-weight:600;background:#fef3c7;color:#92400e;padding:.15rem .4rem;border-radius:4px;border:1px solid #fcd34d}
