/* Personal quick access: keep the established palette and account card. */
.v031 .sidebar { gap:0; }
.v031 .sidebar-scroll { flex:1 1 auto; min-height:0; overscroll-behavior:contain; }
.v031 .sidebar-account { flex:none; }
.module-row { display:flex; align-items:center; min-width:0; border-radius:7px; }
.v031 .sidebar .module-navigation .module-row>.module-link { flex:1 1 auto; min-width:0; }
.v031 .sidebar .module-navigation .module-row:has(.favorite-star:not([hidden]))>.module-link { padding-right:3px; }
.v031 .sidebar .module-navigation .module-link-label { width:auto; flex:1 1 auto; color:inherit; font-size:inherit; text-align:left; overflow-wrap:normal; }
.module-row[hidden],.sidebar-favorites [hidden],.favorites-overflow [hidden],.favorite-star[hidden] { display:none!important; }
.favorite-star,.navigation-icon-button { flex:none; display:inline-flex; align-items:center; justify-content:center; min-width:30px; min-height:32px; padding:6px; border:0; border-radius:6px; background:transparent; color:inherit; cursor:pointer; }
.v031 .sidebar .favorite-star { color:var(--brand-active); }
.favorite-star>svg,.navigation-icon-button>svg { width:16px; height:16px; flex:none; }
.favorite-star[aria-pressed="true"]>svg { fill:currentColor; }
.favorite-star:hover,.favorite-star:focus-visible,.navigation-icon-button:hover,.navigation-icon-button:focus-visible { background:#ffffff20; color:var(--brand-on-primary); }
.favorite-star:focus-visible,.navigation-icon-button:focus-visible,.favorites-more-button:focus-visible { outline:2px solid currentColor; outline-offset:-2px; }
.favorite-star:disabled,.navigation-icon-button:disabled { opacity:.5; cursor:wait; }
.sidebar-favorites { border-top:1px solid #ffffff35; margin-top:12px; padding-top:6px; }
.favorites-heading { display:flex; align-items:center; justify-content:space-between; gap:6px; padding:2px 3px 2px 9px; min-height:36px; color:var(--brand-border); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.045em; }
.favorites-heading .navigation-icon-button { gap:3px; }
.favorites-empty { margin:2px 9px 8px; color:var(--brand-active); font-size:12px; line-height:1.45; }
.favorites-list { position:relative; display:grid; grid-template-columns:minmax(0,1fr); gap:3px; }
.favorites-more-button { display:flex; align-items:center; justify-content:space-between; gap:6px; width:100%; min-height:32px; padding:6px 9px; color:var(--brand-border); border:0; border-radius:6px; background:#ffffff10; font:inherit; font-size:12px; text-align:left; cursor:pointer; }
.favorites-more-button svg { width:15px; height:15px; flex:none; }
.sidebar-module[data-active="true"]>summary { box-shadow:inset 3px 0 var(--gold); border-radius:5px; }
.v031 .sidebar>.navigation-scroll-hint { display:flex; flex:none; align-items:center; justify-content:center; gap:5px; height:20px; min-height:20px; padding:0; border:0; background:transparent; color:var(--brand-active); font:inherit; font-size:10px; cursor:pointer; }
.v031 .sidebar>.navigation-scroll-hint[hidden] { display:flex; visibility:hidden; pointer-events:none; }
.navigation-scroll-hint svg { width:12px; height:12px; }
.navigation-scroll-up svg { transform:rotate(180deg); }
.favorites-dialog,.favorites-overflow { color:var(--ink); background:var(--brand-surface); border:1px solid var(--line); border-radius:12px; box-shadow:0 18px 50px #002f3c40; padding:0; max-height:calc(100dvh - 24px); max-width:calc(100vw - 24px); }
.favorites-dialog { width:500px; }
.favorites-dialog::backdrop { background:#052e3b66; }
.favorites-dialog form { display:flex; flex-direction:column; max-height:calc(100dvh - 26px); margin:0; }
.favorites-dialog header,.favorites-overflow header { flex:none; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; border-bottom:1px solid var(--line); }
.favorites-dialog h2 { font-size:18px; margin:0; line-height:1.3; }
.favorites-dialog-body { padding:18px 20px; overflow:auto; min-height:0; font-size:13px; }
.favorites-dialog fieldset { border:0; padding:0; margin:0 0 16px; }
.favorites-dialog legend { font-weight:700; margin-bottom:8px; }
.favorites-dialog label { display:flex; align-items:center; gap:10px; padding:8px 0; }
.favorites-dialog input[type="checkbox"] { width:17px; height:17px; margin:0; flex:none; accent-color:var(--teal); }
.favorites-dialog label svg { width:18px; height:18px; flex:none; }
.favorites-dialog footer { flex:none; padding:14px 20px; border-top:1px solid var(--line); display:flex; justify-content:flex-end; gap:10px; }
.favorites-dialog .navigation-icon-button:hover,.favorites-dialog .navigation-icon-button:focus-visible { background:var(--teal-soft); color:var(--ink); }
[data-favorites-error] { color:var(--red); }
.favorites-overflow { position:fixed; margin:0; inset:auto; width:320px; color:var(--brand-on-primary); background:var(--brand-primary); overflow:auto; }
.favorites-overflow::backdrop { background:transparent; }
.favorites-overflow header { padding:8px 10px; border-color:#ffffff35; font-size:13px; }
.favorites-overflow .favorites-list { padding:6px; }
.favorites-overflow .module-link { display:flex; flex:1; align-items:center; gap:9px; padding:8px; min-width:0; color:var(--brand-text); font-size:13px; line-height:1.35; border-radius:7px; }
.favorites-overflow .module-link>svg { width:19px; height:19px; flex:0 0 19px; }
.favorites-overflow .module-link:hover,.favorites-overflow .module-link.active { background:var(--brand-primary); color:var(--brand-on-primary); }
.favorites-overflow .module-link.active { box-shadow:inset 3px 0 var(--gold); }
.favorites-overflow .module-link-label { flex:1; min-width:0; }
.favorites-feedback { position:fixed; left:50%; bottom:20px; transform:translateX(-50%); z-index:1000; max-width:calc(100vw - 24px); padding:12px 18px; border-radius:9px; background:var(--brand-primary); color:var(--brand-on-primary); box-shadow:0 5px 18px #002f3c30; font-size:13px; }
@media(prefers-reduced-motion:reduce) { .module-row,.favorite-star,.sidebar-module summary>svg { animation:none!important; transition:none!important; } }
@media(max-height:450px) { .v031 .sidebar { overflow-y:auto; } .v031 .sidebar-scroll { flex:none; overflow:visible; } .v031 .sidebar>.navigation-scroll-hint { display:none; } }

.plan-feature-section h4,.included-feature-heading { font-size:12px; text-transform:uppercase; letter-spacing:.04em; margin:16px 0 8px; color:var(--muted); }
