.tab-bar[data-v-a1e8876e]{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--app-max-width);height:56px;background:#fff;display:flex;justify-content:space-around;align-items:center;border-top:1px solid #e5e7eb;border-left:1px solid #e5e7eb;border-right:1px solid #e5e7eb;border-radius:12px 12px 0 0;z-index:90;padding-bottom:env(safe-area-inset-bottom,0)}.tab[data-v-a1e8876e]{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;height:100%;text-decoration:none;color:#9ca3af;font-size:.65rem;gap:2px;transition:color .15s;-webkit-tap-highlight-color:transparent}.tab.active[data-v-a1e8876e]{color:#4f46e5}.tab-icon[data-v-a1e8876e]{font-size:1.25rem;line-height:1}.tab-label[data-v-a1e8876e]{font-weight:500}.sidebar[data-v-4261b5ab]{position:fixed;top:0;left:0;bottom:0;width:200px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;z-index:95;transition:width .2s ease}.sidebar.collapsed[data-v-4261b5ab]{width:56px}.sb-header[data-v-4261b5ab]{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-bottom:1px solid #f3f4f6;min-height:48px}.sb-user[data-v-4261b5ab]{font-size:.8rem;font-weight:600;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-toggle[data-v-4261b5ab]{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#6b7280;padding:.25rem;border-radius:4px;flex-shrink:0}.sb-toggle[data-v-4261b5ab]:hover{background:#f3f4f6}.collapsed .sb-header[data-v-4261b5ab]{justify-content:center}.sb-action[data-v-4261b5ab]{padding:.5rem .375rem 0}.sb-action-btn[data-v-4261b5ab]{width:100%;padding:.5rem;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;text-align:center}.sb-action-btn[data-v-4261b5ab]:hover{background:#4338ca}.collapsed .sb-action-btn[data-v-4261b5ab]{padding:.5rem .25rem;font-size:1rem}.sb-nav[data-v-4261b5ab]{flex:1;padding:.5rem 0;overflow-y:auto}.sb-item[data-v-4261b5ab]{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;margin:.125rem .375rem;border-radius:8px;text-decoration:none;color:#6b7280;font-size:.85rem;cursor:pointer;transition:all .15s;border:none;background:none;width:calc(100% - .75rem)}.sb-item[data-v-4261b5ab]:hover{background:#f3f4f6;color:#374151}.sb-item.active[data-v-4261b5ab]{background:#eef2ff;color:#4f46e5;font-weight:600}.sb-icon[data-v-4261b5ab]{font-size:1.1rem;width:24px;text-align:center;flex-shrink:0}.sb-label[data-v-4261b5ab]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collapsed .sb-item[data-v-4261b5ab]{justify-content:center;padding:.5rem;margin:.125rem .25rem}.sb-divider[data-v-4261b5ab]{height:1px;background:#f3f4f6;margin:.5rem .75rem}.sb-footer[data-v-4261b5ab]{padding:.5rem 0;border-top:1px solid #f3f4f6}.sb-logout[data-v-4261b5ab]{color:#dc2626}.sb-logout[data-v-4261b5ab]:hover{background:#fef2f2}@media(max-width:1023px){.sidebar[data-v-4261b5ab]{display:none}}:root{--app-max-width: 600px;--sidebar-width: 0px}@media(min-width:768px){:root{--app-max-width: 720px}}@media(min-width:1024px){:root{--app-max-width: 900px;--sidebar-width: 200px}.app-content.has-sidebar{margin-left:200px;transition:margin-left .2s ease}.app-content.has-sidebar.sidebar-collapsed{margin-left:56px}.fab-anchor{display:none}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#1a1a1a;min-height:100vh}a{color:#4f46e5;text-decoration:none}a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:#4f46e5;color:#fff}.btn-primary:hover{background:#4338ca}.btn-primary:disabled{background:#a5b4fc;cursor:not-allowed}input,select{padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;width:100%;transition:border-color .2s}input:focus,select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}
