/* Compact navigation with a chat panel above it. */
.bottom-nav{display:grid!important;z-index:60;background:#0872b3;border-top:0;box-shadow:0 -4px 20px #173c5322;padding:4px 6px calc(6px + var(--safe));min-height:64px}
.bottom-nav a,.bottom-nav button{display:grid;place-items:center;align-content:center;gap:1px;min-height:49px;padding:3px 1px;border:0;border-radius:11px;background:transparent;color:#fff;text-decoration:none;cursor:pointer}
.bottom-nav a.active,.bottom-nav button.active{background:#2a8fca;color:#fff}
.bottom-nav span{display:block;height:20px;line-height:20px}
.bottom-nav svg{width:19px;height:19px}
.bottom-nav b{font-size:10px;letter-spacing:.02em;white-space:nowrap}
.plan-chat-dock{bottom:calc(64px + var(--safe));z-index:55;height:0;border:0;box-shadow:none;overflow:hidden;visibility:hidden}
.plan-chat-dock.open{height:min(69vh,630px);border:1px solid #dce5eb;border-bottom:0;box-shadow:0 -5px 25px #123e5430;overflow:visible;visibility:visible}
.plan-chat-dock.open .plan-chat-form{padding-bottom:8px}
body.app-loading .plan-chat-dock{display:none!important}
.plan-chat-context{padding:8px 16px;color:#385569;background:#eaf4f9;font-size:13px;line-height:1.35;border-bottom:1px solid #d7e5ec}
.plan-save-warning{margin:8px 0;padding:9px 11px;border-radius:8px;background:#fff0d8;color:#6d3900;font-size:.85rem;font-weight:700}
#nightSaveStatus{position:fixed;z-index:95;top:78px;left:50%;transform:translateX(-50%);width:min(92%,680px);padding:10px 14px;border-radius:10px;background:#7b2e16;color:#fff;text-align:center;font-size:.85rem;font-weight:700;box-shadow:0 8px 22px #0003}
#nightSaveStatus[hidden]{display:none}

/* Chat occupies the available screen while navigation stays reachable. */
.plan-chat-dock.open{top:var(--chat-top,50px)!important;bottom:var(--chat-bottom,64px)!important;left:0;transform:none;width:100%;height:auto!important;max-height:none;border-radius:0;border:0;overflow:hidden;box-shadow:none}
.plan-chat-head,.plan-chat-context,.plan-chat-form{flex-shrink:0}
.plan-chat-thread{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
body.chat-open{overflow:hidden}
.plan-bubble.assistant{min-width:0;max-width:100%;font-weight:400}
.plan-chat-paragraph{margin:0 0 10px;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.plan-chat-paragraph:last-child{margin-bottom:0}
.plan-chat-table-wrap{max-width:100%;overflow-x:auto;margin:10px 0 14px;border:1px solid #d7e5ed;border-radius:8px;white-space:normal}
.plan-chat-table{width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.35;text-align:left}
.plan-chat-table th,.plan-chat-table td{padding:8px 9px;border-bottom:1px solid #dce7ee;vertical-align:top;overflow-wrap:anywhere}
.plan-chat-table thead th{background:#e4f1f8;color:#185372;font-weight:700;white-space:nowrap}
.plan-chat-table thead th:not(:first-child){text-align:right}
.plan-chat-table tbody th{font-weight:600;width:43%;color:#243c49}
.plan-chat-table td{text-align:right;font-variant-numeric:tabular-nums}
.plan-chat-table tbody tr:nth-child(even){background:#edf5f9}
.plan-chat-table tbody tr:last-child>*{border-bottom:0}
.plan-bubble.assistant:has(.plan-chat-table){width:100%;border-left:3px solid #0872b3;background:#f4f8fa}
.plan-bubble.assistant .plan-profile-link{display:block;font-weight:700}
