.assistant-panel { position: fixed; z-index: 40; top: 0; right: 0; width: 390px; height: 100vh; background: var(--white); border-left: 1px solid var(--border); box-shadow: -20px 0 50px rgba(23,24,20,.1); transform: translateX(102%); transition: transform .24s ease; display: flex; flex-direction: column; }
.assistant-is-open .assistant-panel { transform: none; }
.assistant-panel > header { height: 72px; padding: 0 16px; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; }
.assistant-panel > header > div { display: flex; gap: 10px; align-items: center; }
.assistant-orb { width: 36px; height: 36px; border-radius: 11px; background: var(--violet); color: white; display: grid; place-items: center; }
.assistant-panel header div div { display: grid; gap: 3px; }
.assistant-panel header strong { font-size: 11px; }
.assistant-panel header small { display: flex; align-items: center; gap: 5px; font-size: 8px; color: #85877e; }
.assistant-panel header small i { width: 6px; height: 6px; border-radius: 50%; background: #67d18f; }
.assistant-context { margin: 12px; padding: 10px 12px; border-radius: 10px; background: var(--paper); display: grid; grid-template-columns: auto 1fr 20px; gap: 8px; align-items: center; }
.assistant-context span { font-size: 8px; color: #85877e; }
.assistant-context strong { font-size: 9px; }
.assistant-context button { border: 0; background: transparent; color: #85877e; }
.assistant-thread { flex: 1; min-height: 0; overflow: auto; padding: 8px 16px 18px; display: flex; flex-direction: column; gap: 15px; }
.assistant-message { display: flex; gap: 8px; }
.message-user { justify-content: flex-end; }
.assistant-message > div { max-width: 88%; }
.assistant-message p { margin: 0; padding: 11px 13px; border-radius: 12px; background: var(--paper); font-size: 10px; line-height: 1.5; }
.message-user p { background: var(--violet); color: white; border-radius: 12px 12px 3px 12px; }
.message-avatar { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; background: var(--violet-soft); color: var(--violet); flex: none; }
.proposal-card { margin-top: 9px; padding: 13px; border: 1px solid var(--border); border-radius: 12px; background: var(--white); }
.proposal-label { font-size: 7px; color: var(--violet); letter-spacing: .12em; font-weight: 850; }
.proposal-card > strong { display: block; font-family: Georgia, serif; margin: 7px 0 9px; font-size: 15px; }
.proposal-add { padding: 9px; border-radius: 8px; background: #ecf8e9; color: var(--green); font-size: 8px; display: flex; gap: 7px; }
.proposal-card > p { background: transparent; padding: 10px 0; color: #777970; font-size: 8px; }
.proposal-card > div:last-child { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.proposal-card .button { min-height: 36px; padding: 0 8px; font-size: 8px; }
.assistant-composer { margin: 12px; padding: 10px; border: 1px solid var(--border); border-radius: 12px; background: var(--white); }
.assistant-composer textarea { width: 100%; min-height: 68px; resize: none; border: 0; outline: 0; font-size: 10px; }
.assistant-composer > div { display: flex; justify-content: space-between; align-items: center; }
.assistant-composer span { display: flex; align-items: center; gap: 4px; color: #8a8c83; font-size: 7px; }
.send-button { width: 32px; height: 32px; border-radius: 9px; border: 0; background: var(--ink); color: white; display: grid; place-items: center; cursor: pointer; }

.fatal-page { min-height: 100vh; display: grid; place-items: center; align-content: center; text-align: center; padding: 30px; }
.fatal-page h1 { font-family: Georgia, serif; }
.fatal-page p { color: #74766e; }
