html,body{background:#0d0d0f;color:#eeeef0;}
.scrollbar-thin::-webkit-scrollbar{width:6px;}
.scrollbar-thin::-webkit-scrollbar-thumb{background:#26262a;border-radius:3px;}
[v-cloak]{display:none;}
h2.modal-title{color:#ffffff !important;}
label.field-label{color:#8a8a94 !important;}
.desc-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#26262a;color:#a8a8b4;font-size:11px;font-style:italic;font-weight:700;cursor:pointer;user-select:none;}
.row-valid{background:rgba(76,183,130,.08);}
.row-warn{background:rgba(232,162,61,.08);}
.row-error{background:rgba(229,83,75,.08);}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#151517;border-top:1px solid #26262a;padding-bottom:env(safe-area-inset-bottom);display:flex;}
.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 2px 6px;gap:2px;color:#8a8a94;font-size:10px;line-height:1.1;}
.bottom-nav-item.active{color:#5e6ad2;}
.bottom-nav-icon{font-size:20px;}
.mobile-content-padding{padding-bottom:calc(64px + env(safe-area-inset-bottom));}
.top-bar-safe{padding-top:env(safe-area-inset-top);}
.chart-box{height:300px;position:relative;}
.star-rating{display:flex;align-items:center;gap:3px;}
.star{font-size:26px;cursor:pointer;color:#26262a;transition:color .1s;}
.star.filled{color:#e8a23d;}
