.brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;border-radius:var(--radius-md)}
.brand-mark{width:42px;height:42px;border-radius:var(--radius-md);background:var(--brand-orange);display:grid;place-items:center;color:var(--betooth-deep);font-weight:900;font-size:24px;box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--betooth-deep) 14%,transparent)}
.brand-word{font-size:24px;font-weight:800;letter-spacing:-1px}
.wordmark-be{color:var(--betooth-orange)}
.wordmark-tooth{color:var(--betooth-muted)}
.nav{display:grid;gap:var(--space-2)}
.nav-item{width:100%;min-height:46px;border:0;background:transparent;color:var(--text-on-dark-muted);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);text-align:left;display:flex;gap:var(--space-3);align-items:center;text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}
.nav-item.active,.nav-item:hover{background:var(--nav-hover);color:var(--text-on-dark)}
.nav-item.active{box-shadow:inset 3px 0 0 var(--betooth-orange)}
.nav-item:active{transform:translateY(1px)}
.nav-icon{width:20px;height:20px;flex:0 0 auto;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}
.nav-item.beto-nav img{width:24px;height:24px;object-fit:contain}
.nav-item.beto-nav.active{background:color-mix(in srgb,var(--betooth-light) 12%,transparent);box-shadow:inset 3px 0 0 var(--beto-mint);color:var(--text-on-dark)}
.sidebar :focus-visible{outline-color:var(--betooth-orange)}
.sidebar .beto-nav:focus-visible,.sidebar .beto-card:focus-visible{outline-color:var(--beto-mint)}
.beto-card{margin-top:auto;background:var(--beto-panel);padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--beto-panel-line);display:flex;align-items:center;gap:var(--space-3);text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}
.beto-card:hover{background:color-mix(in srgb,var(--surface) 11%,transparent);border-color:var(--beto-mint-line)}
.beto-card:active{transform:translateY(1px)}
.beto-card img{width:54px;height:54px;flex:0 0 auto;object-fit:contain}
.beto-card small{color:var(--beto-mint);font-weight:900;letter-spacing:.12em}
.beto-card strong{display:block;margin-top:4px;font-size:13px;line-height:1.35}
.beto-card-action{display:block;margin-top:6px;color:var(--beto-light);font-size:12px;font-weight:800}
.kicker,.eyebrow{font-size:var(--font-label);font-weight:900;letter-spacing:.14em;color:var(--muted)}
.page-title{font-size:19px;font-weight:800;margin-top:3px}
.top-actions{display:flex;align-items:center;gap:var(--space-3)}
.search-wrap{position:relative}
.search{width:220px;height:var(--control-height);border:1px solid var(--line);border-radius:var(--radius-md);padding:0 var(--space-4);background:var(--surface);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}
.search:focus{border-color:var(--brand-muted);box-shadow:0 0 0 3px var(--betooth-highlight-surface)}
.search-status{position:absolute;top:calc(var(--control-height) + 6px);right:0;min-width:220px;max-width:280px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--brand-deep);color:var(--text-on-dark);font-size:12px;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transform:translateY(-3px);transition:opacity var(--transition-fast),transform var(--transition-fast)}
.search-status.visible{opacity:1;transform:translateY(0)}
.avatar,.icon-btn{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-md);border:0;background:var(--brand-deep);color:var(--text-on-dark);font-weight:900}
.avatar{display:grid;place-items:center;user-select:none}
.icon-btn{display:grid;place-items:center;padding:0}
.icon-btn svg{width:22px;height:22px;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.hero .eyebrow{color:var(--brand-orange)}
.hero p{font-size:18px;line-height:var(--line-body);color:var(--text-on-dark-muted)}
.hero h1{font-size:var(--font-display);max-width:760px}
.actions{display:flex;gap:var(--space-3);margin:var(--space-6) 0}
.trust{display:flex;gap:var(--space-4);flex-wrap:wrap;color:var(--text-on-dark-muted);font-size:14px}
.trust span{display:inline-flex;align-items:center;gap:var(--space-2)}
.beto-hero-image{width:min(350px,88%);height:430px;object-fit:contain;filter:drop-shadow(0 26px 34px color-mix(in srgb,var(--betooth-deep) 30%,transparent))}
.float-card{position:absolute;background:var(--surface);color:var(--text-primary);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:var(--space-1)}
.float-card small{color:var(--muted)}
.fc1{left:4%;top:12%}.fc2{right:1%;bottom:12%}
.features article,.panel,.stats article,.module-page{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:var(--card-padding);box-shadow:var(--shadow-sm)}
.features article{min-height:164px}
.features h2{font-size:var(--font-h3);line-height:1.2;letter-spacing:-.35px;margin:var(--space-2) 0 var(--space-3)}
.features p,.panel p,.module-page p{color:var(--text-secondary);line-height:var(--line-body)}
.dash-head p{color:var(--text-secondary)}
.stats article{display:grid;align-content:center;min-height:104px}
.stats span{display:block;color:var(--text-secondary);font-size:var(--font-small)}
.stats strong{display:block;font-size:24px;margin-top:var(--space-1)}
.progress{height:10px;border-radius:var(--radius-pill);background:var(--surface-soft-strong);overflow:hidden;margin:var(--space-6) 0 var(--space-2)}
.progress span{display:block;height:100%;width:62%;background:var(--brand-deep)}
.progress-meta{display:flex;justify-content:space-between;font-size:var(--font-small);color:var(--text-secondary)}
.full{width:100%;margin-top:22px}
.beto-tip{display:flex;gap:var(--space-4);align-items:center}
.beto-tip{background:var(--beto-paper);border-color:var(--beto-light)}
.beto-tip .eyebrow{color:var(--text-primary)}
.mini-beto{width:72px;height:72px;flex:0 0 auto;object-fit:contain;border-radius:22px;background:var(--beto-highlight-surface);border:1px solid var(--beto-light);padding:4px}
.task{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line);line-height:1.45}
.task input{accent-color:var(--betooth-deep)}
.task:last-child{border:0}
.module-header{margin-bottom:var(--space-5)}
.module-header p{margin-bottom:0}
.field-label{display:block;margin-bottom:var(--space-2);font-weight:800;color:var(--text-primary)}
.field-help{margin:0 0 var(--space-3);font-size:var(--font-small);color:var(--text-secondary)}
.module-page textarea{width:100%;min-height:200px;border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);resize:vertical;margin:0 0 var(--space-4);background:var(--surface);color:var(--ink);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}
.module-page textarea:focus{border-color:var(--brand-muted);box-shadow:0 0 0 3px var(--betooth-highlight-surface)}
.demo-box{margin-top:var(--space-5);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--surface-soft);border:1px solid var(--line)}
.status{margin-top:12px;color:var(--muted);font-weight:700;min-height:1.25em}
.mobile-only{display:none}
.overlay{display:none}
.route-state{max-width:900px;margin:var(--space-9) auto;padding:var(--card-padding);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);color:var(--text-secondary);box-shadow:var(--shadow-sm)}
.route-state.error strong{display:block;color:var(--text-primary);margin-bottom:8px}
.route-state.error span{display:block}
.route-retry{display:block;margin-top:18px}

