.launcherFab{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:999px;border:none;background:#111;color:#fff;display:grid;place-items:center;gap:4px;cursor:pointer;z-index:200}.launcherDot{width:6px;height:6px;border-radius:999px;background:#fff;display:inline-block}.launcherOverlay{position:fixed;inset:0;background:#0f172a40;z-index:190}.honeycomb{position:absolute;width:240px;height:240px;right:70px;bottom:88px}.honeyItem{position:absolute;left:50%;top:50%;border:none;border-radius:999px;background:#fff;color:#111;font-weight:700;font-size:12px;cursor:pointer;transform:translate(-50%,-50%);transition:transform .18s ease,background .18s ease;box-shadow:0 1px 4px #0000000f;animation:honeyPop .22s ease-out}.honeyItem:hover{transform:translate(-50%,-50%) scale(1.05)}.honeyItem.center{background:#111;color:#fff;font-size:13px}.honeyItem.center:hover{transform:translate(-50%,-50%) scale(1.06)}@keyframes honeyPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:600px){.launcherFab{right:14px;bottom:14px}.honeycomb{width:220px;height:220px;right:50%;bottom:50%;transform:translate(50%,50%)}}@media(max-width:900px)and (orientation:portrait){.launcherFab{right:14px;top:14px;bottom:auto}.honeycomb{right:50%;bottom:50%;top:auto;transform:translate(50%,50%)}}.appShell{display:grid;grid-template-columns:1fr;min-height:100vh}.sidebar{background:#f3f4f6;border-right:1px solid var(--border-light);padding:18px}.brand{font-weight:900;font-size:16px;margin-bottom:16px;color:var(--text-primary)}.nav{display:grid;gap:6px}.nav a{padding:11px 12px;border-radius:14px;color:var(--text-secondary);font-weight:600}.nav a.active{background:var(--accent-soft);color:var(--accent-primary)}.main{padding:24px;background:#fff}.topbar{display:none;position:sticky;top:0;z-index:20;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-light);padding:12px 14px;align-items:center;justify-content:space-between}.iconBtn{border:1px solid var(--border-light);background:var(--bg-card);border-radius:14px;padding:9px 12px;font-size:16px;cursor:pointer;box-shadow:0 1px #00000008}.overlay,.drawer{display:none}@media(max-width:900px){.appShell{grid-template-columns:1fr}.sidebar{display:none}.topbar{display:flex}.main{padding:14px}.overlay.open{display:block;position:fixed;inset:0;background:#11182759;z-index:40}.drawer.open{display:block;position:fixed;top:0;left:0;width:min(320px,86vw);height:100vh;background:var(--bg-card);border-right:1px solid var(--border-light);padding:16px;z-index:50;box-shadow:24px 0 60px #0000002e}.nav a{padding:13px 12px;border-radius:16px}}.plannerGrid{display:grid;grid-template-columns:420px 1fr;gap:16px;margin-top:16px}@media(max-width:900px){.plannerGrid{grid-template-columns:1fr}}.calPage{display:grid;gap:14px}.calHeader{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.calTitle{font-weight:900;font-size:20px}.calSub{color:var(--text-secondary);font-size:12px;margin-top:2px}.calHeaderRight{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calBtn{border:1px solid var(--border-light);background:var(--bg-card);border-radius:12px;padding:8px 10px;cursor:pointer}.calTabs{display:flex;border:1px solid var(--border-light);background:var(--bg-card);border-radius:14px;overflow:hidden}.tab{padding:8px 12px;cursor:pointer;border:none;background:transparent;color:var(--text-secondary)}.tab.active{background:var(--accent-soft);color:var(--accent-primary);font-weight:700}.yearGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.yearMonth{text-align:left;border:1px solid var(--border-light);background:var(--bg-card);border-radius:18px;padding:14px;cursor:pointer}.yearMonthTitle{font-weight:800}.yearMonthHint{color:var(--text-muted);font-size:12px;margin-top:6px}@media(max-width:900px){.yearGrid{grid-template-columns:repeat(2,1fr)}}.monthWrap{display:grid;gap:8px}.dow{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.dowCell{color:var(--text-muted);font-size:12px;padding:0 8px}.monthGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.dayCell{border:1px solid var(--border-light);background:var(--bg-card);border-radius:16px;padding:10px;min-height:92px;cursor:pointer;text-align:left}.dayCell.dim{opacity:.45}.dayCell.today{outline:2px solid var(--accent-primary);outline-offset:2px}.dayNum{font-weight:800}.chips{display:grid;gap:6px;margin-top:8px}.chip{background:var(--accent-soft);color:var(--text-primary);border:1px solid var(--border-light);border-radius:999px;padding:4px 8px;font-size:12px;width:fit-content}.chip.more{opacity:.8}.weekWrap{display:grid}.weekGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.weekDay{border:1px solid var(--border-light);background:var(--bg-card);border-radius:18px;padding:12px;cursor:pointer;text-align:left;min-height:150px}.weekDay.today{outline:2px solid var(--accent-primary);outline-offset:2px}.weekTop{display:flex;justify-content:space-between;align-items:baseline}.weekDow{color:var(--text-secondary);font-weight:700}.weekDate{font-weight:900}.weekEvents{display:grid;gap:8px;margin-top:10px}.weekEmpty{color:var(--text-muted);font-size:12px}.weekEvent{display:grid;grid-template-columns:52px 1fr;gap:8px;font-size:12px;background:var(--bg-muted);border-radius:12px;padding:8px}.weekEvent .time{color:var(--text-secondary);font-weight:700}.weekEvent .title{color:var(--text-primary);font-weight:600}@media(max-width:900px){.weekGrid{grid-template-columns:1fr}}.dayWrap{display:grid;gap:12px;grid-template-columns:1fr 1fr}.dayCard{border:1px solid var(--border-light);background:var(--bg-card);border-radius:18px;padding:14px}.dayCardTitle{font-weight:900;margin-bottom:10px}.emptyState{color:var(--text-secondary);font-size:14px;padding:8px 0}.dayList{display:grid;gap:10px}.dayItem{display:grid;grid-template-columns:70px 1fr;gap:10px;background:var(--bg-muted);border-radius:14px;padding:10px}.dayTime{color:var(--text-secondary);font-weight:800}.dayTitle{font-weight:700}@media(max-width:900px){.dayWrap{grid-template-columns:1fr}}.chatPage{display:grid;gap:0;height:calc(100vh - 48px);background:#fff;position:relative}.chatSplit{display:flex;align-items:stretch;height:100%}.calendarCard{border:none;background:#fff;border-radius:0;padding:0 0 6px;height:240px;display:grid;gap:6px;box-shadow:none}.calendarHeader{display:grid;gap:4px;padding:0 2px 4px}.calendarTitle{font-weight:800;font-size:13px;text-transform:capitalize}.calendarTabs{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.calendarPane{flex:0 0 auto}.splitDivider{width:8px;cursor:col-resize;position:relative}.splitDivider:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translate(-50%);background:var(--border-light)}.calendarTab{border:none;background:#fff;color:var(--text-secondary);border-radius:999px;padding:3px 9px;font-size:10.5px;cursor:pointer}.calendarTab.active{background:var(--accent-soft);color:var(--text-primary);border-color:transparent}.calendarWeekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:0 2px}.calendarWeekday{text-align:center;font-size:10px;color:#9aa0a6;font-weight:500}.calendarGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;flex:1;padding:0 2px}.calendarView{display:grid;gap:6px;animation:calendarSwap .18s ease-out;transform-origin:top center;min-height:150px}.calendarCell{border-radius:10px;background:transparent;border:none;min-height:24px;display:flex;align-items:center;justify-content:center;padding:2px 0}.calendarCell.empty{background:transparent;border:none}.calendarDay{display:flex;align-items:center;justify-content:center;width:100%;padding:2px 4px;font-size:11.5px;color:var(--text-primary);gap:4px;border-radius:10px}.calendarCell:hover .calendarDay{background:#1118270f}.calendarMarker{width:6px;height:6px;border-radius:999px;background:#f6c744;display:inline-block}.weekWrap{display:grid;gap:6px;overflow-x:auto;padding-bottom:4px}.weekHeaderRow{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:0}.weekHead{text-align:center;font-size:10.5px;color:#9aa0a6;font-weight:500;padding:6px 8px;border-left:1px solid var(--border-light)}.weekHead:first-child{border-left:none}.weekDate{display:block;margin-top:2px;font-size:12px;color:var(--text-primary);font-weight:600}.weekBody{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:0;min-height:120px}.weekColumn{display:grid;align-content:start;padding:10px 8px;border-left:1px solid var(--border-light)}.weekColumn:first-child{border-left:none}.weekEmpty{font-size:11px;color:#b0b5bc}.dayGrid{display:grid;gap:8px}.dayBlock{display:flex;justify-content:space-between;padding:8px 10px;border-radius:12px;background:#1118270d;font-size:12px}.yearGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.yearCard{border-radius:12px;padding:6px 8px;background:#1118270a;font-size:11px}.yearLabel{font-weight:700;margin-bottom:4px}.yearMini{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;color:var(--text-secondary);font-size:9px}.chatPanel{flex:1;min-height:0;border:none;background:transparent;border-radius:0;padding:12px 0;display:flex;flex-direction:column;gap:10px;box-shadow:none}.chatThread{flex:1;min-height:0;overflow:auto;display:grid;gap:10px;align-content:start}.bubble{max-width:70%;padding:10px 12px;border-radius:16px;border:none;line-height:1.35}.bubble.assistant{background:var(--bg-muted);color:var(--text-primary)}.bubble.user{margin-left:auto;background:var(--accent-soft);color:var(--text-primary)}.composerWrap{display:grid;gap:6px}.approvePill{justify-self:start;background:#f6f6f6;border:none;color:var(--text-secondary);padding:6px 12px;border-radius:999px;font-size:12px}.composer{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:0;border:none;background:transparent;min-height:64px}.composerInput{border:1px solid #d4d7dd;border-radius:14px;outline:none;font-size:14px;padding:10px 12px;background:#fff}.composerInput:focus{border-color:#b9bec7;box-shadow:0 0 0 2px #1118270d}.composerSend{width:42px;height:42px;border-radius:14px;border:none;background:var(--accent-primary);color:#fff;display:grid;place-items:center;cursor:pointer}.sendIcon{transform:rotate(180deg)}.errorText{color:#b42318;font-size:12px}@media(min-width:900px){.calendarCard{height:auto}}@media(max-width:900px){.chatPage{height:calc(100vh - 28px)}.chatSplit{flex-direction:column}.splitDivider{display:none}.calendarPane{order:1;width:100%!important;flex:0 0 33.333%}.chatPanel{order:2;flex:1 1 66.666%}.calendarCard{height:190px;padding:0 0 6px}.bubble{max-width:85%}.composer{min-height:64px}.yearGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px)and (orientation:landscape){.chatSplit{flex-direction:row}.splitDivider{display:block}.calendarPane{width:auto}.calendarCard{height:auto}}@keyframes calendarSwap{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}:root{--bg-app: #f7f8fa;--bg-card: #ffffff;--bg-muted: #f1f3f6;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--border-light: #e5e7eb;--accent-primary: #5b8def;--accent-soft: #eef3ff;--accent-hover: #4a7fe0;--success-soft: #ecfdf3;--success-text: #047857;--danger-soft: #fef2f2;--danger-text: #b91c1c}*{box-sizing:border-box}body{margin:0;background:var(--bg-app);color:var(--text-primary);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}a{text-decoration:none;color:inherit}.card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:18px;padding:14px;box-shadow:0 1px #00000005}@media(max-width:900px){.card{padding:12px;border-radius:18px}}.page{display:grid;gap:12px}@media(max-width:900px){.page{gap:10px}}
